HackerRank/Oracle Print Prime Numbers

[HackerRank/Oracle] Print Prime Numbers

๐Ÿ“Œ๋ฌธ์ œ๋งํฌ ํ’€์ด์ฐธ๊ณ 


*ํ’€์ด์ฐธ๊ณ  ๋งํฌ์— ๋“ค์–ด๊ฐ€์…”์„œ ๋ณด์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

1000์ดํ•˜ ์†Œ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋ฉด ๋œ๋‹ค.
์ œ๊ณฑ๊ทผ ๋ฒ”์œ„ ๋‚˜๋ˆ„๊ธฐ๋ฒ•์„ ํ™œ์šฉํ•˜์ž.

์ œ๊ณฑ๊ทผ ๋ฒ”์œ„ ๋‚˜๋ˆ„๊ธฐ๋ฒ•
์†Œ์ˆ˜ ์—ฌ๋ถ€๋ฅผ ๊ฒ€์‚ฌํ•  ์ˆ˜์— ๋Œ€ํ•ด ๊ทธ ๊ฐ’์˜ ์ œ๊ณฑ๊ทผ์„ ๊ธฐ์ค€์œผ๋กœ ๋Œ€์นญ์ ์œผ๋กœ ๊ณ„์‚ฐ๋˜๋ฏ€๋กœ ์ œ๊ณฑ๊ทผ ์ดํ•˜์˜ ์ž‘์€ ๊ฐ’๊นŒ์ง€๋งŒ ๊ฒ€์‚ฌํ˜ ํ•˜๋ฉด ๋‚˜๋จธ์ง€๋Š” ๊ฒ€์‚ฌํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. (๊ฒ€์‚ฌํ•  ๋ฐ์ดํ„ฐ์˜ ๊ฐœ์ˆ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Œ)


LISTAGG ์ด์šฉ

LISTAGG([ํ•ฉ์น ์ปฌ๋Ÿผ๋ช…] ,'๊ตฌ๋ถ„์ž') WITHIN GROUP(ORDER BY [์ •๋ ฌ์ปฌ๋Ÿผ๋ช…])

1
2
3
4
5
6
7
8
9
10
WITH NUMBERS AS (SELECT  LEVEL AS NUM
FROM    DUAL
WHERE   LEVEL > 1
CONNECT BY LEVEL <=1000)
SELECT  LISTAGG(N.NUM, '&') WITHIN GROUP(ORDER BY N.NUM)
FROM    NUMBERS N
WHERE   NOT EXISTS (SELECT  E.NUM
                    FROM    NUMBERS E
                    WHERE   E.NUM <= SQRT(N.NUM)
                    AND MOD(N.NUM , E.NUM)= 0);

๊ฒฐ๊ณผ

2&3&5&7&11&13&17&19&23&29&31&37&41&43&47&53&59&61&67&71&73&79&83&89&97&101&103&107&109&113&127&131&137&139&149&151&157&163&167&173&179&181&191&193&197&199&211&223&227&229&233&239&241&251&257&263&269&271&277&281&283&293&307&311&313&317&331&337&347&349&353&359&367&373&379&383&389&397&401&409&419&421&431&433&439&443&449&457&461&463&467&479&487&491&499&503&509&521&523&541&547&557&563&569&571&577&587&593&599&601&607&613&617&619&631&641&643&647&653&659&661&673&677&683&691&701&709&719&727&733&739&743&751&757&761&769&773&787&797&809&811&821&823&827&829&839&853&857&859&863&877&881&883&887&907&911&919&929&937&941&947&953&967&971&977&983&991&997