[BOJ][๐ก5][๋ฐฑ์ค#02023] ์ ๊ธฐํ ์์
์์ฑ:    
์ ๋ฐ์ดํธ:
์นดํ ๊ณ ๋ฆฌ: BOJ Gold V
๋ฌธ์ ์ถ์ฒ
๋ฌธ์
์๋น์ด๊ฐ ์ธ์์์ ๊ฐ์ฅ ์ข์ํ๋ ๊ฒ์ ์์์ด๊ณ , ์ทจ๋ฏธ๋ ์์๋ฅผ ๊ฐ์ง๊ณ ๋ ธ๋ ๊ฒ์ด๋ค. ์์ฆ ์๋น์ด๊ฐ ๊ฐ์ฅ ๊ด์ฌ์์ด ํ๋ ์์๋ 7331์ด๋ค. 7331์ ์์์ธ๋ฐ, ์ ๊ธฐํ๊ฒ๋ 733๋ ์์์ด๊ณ , 73๋ ์์์ด๊ณ , 7๋ ์์์ด๋ค. ์ฆ, ์ผ์ชฝ๋ถํฐ 1์๋ฆฌ, 2์๋ฆฌ, 3์๋ฆฌ, 4์๋ฆฌ ์ ๋ชจ๋ ์์์ด๋ค! ์๋น์ด๋ ์ด๋ฐ ์ซ์๋ฅผ ์ ๊ธฐํ ์์๋ผ๊ณ ์ด๋ฆ ๋ถ์๋ค. ์๋น์ด๋ N์๋ฆฌ์ ์ซ์ ์ค์์ ์ด๋ค ์๋ค์ด ์ ๊ธฐํ ์์์ธ์ง ๊ถ๊ธํด์ก๋ค. N์ด ์ฃผ์ด์ก์ ๋, ์๋น์ด๋ฅผ ์ํด N์๋ฆฌ ์ ๊ธฐํ ์์๋ฅผ ๋ชจ๋ ์ฐพ์๋ณด์.
์ ๋ ฅ
์ฒซ์งธ ์ค์ N(1 โค N โค 8)์ด ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
N์๋ฆฌ ์ ์ค์์ ์ ๊ธฐํ ์์๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํด์ ํ ์ค์ ํ๋์ฉ ์ถ๋ ฅํ๋ค.
์์
์ ๋ ฅ
4
์ถ๋ ฅ
2333
2339
2393
2399
2939
3119
3137
3733
3739
3793
3797
5939
7193
7331
7333
7393
My Sol
def is_prime(n):
for i in range(2, int(n**(1/2))+1):
if not n%i: return False
return True
N = int(input())
now = 1
primes = [2, 3, 5, 7]
while now < N:
new_primes = []
for prime in primes:
for i in range(1, 10):
p = prime*10+i
if is_prime(p):
new_primes.append(p)
primes = new_primes
now += 1
for p in primes:
print(p)
์์ ํ์ ์ ์ํ ์๋ผํ ์คํ
๋ค์ค์ ์ฒด
ํจ์๋ฅผ ์ฌ์ฉํ๋ ๋ฌธ์ ์๋ค.
- 1์๋ฆฌ ์์ ๋ฆฌ์คํธ๋ฅผ ์ค๋นํ๋ค.
- ํด๋น ์์๋ฅผ 10์ฉ ๊ณฑํ๊ณ 1๋ถํฐ 9๊น์ง ๋ํ ๊ฐ๋ค์ ์์ํ์ ํ์ฌ ์์์ธ ์๋ค๋ง primes์ ๋ค์ ๋ด๋๋ค.
- now๊ฐ N์ด ๋ ๋๊น์ง ๋ฐ๋ณตํ๋ค.
for๋ฌธ์ ์์๋ฅผ prime์ ๋จผ์ ๋์ด์ผ ์์ ์๋ถํฐ ์์ฐ์ค๋ฝ๊ฒ ๋ฐฐ์น๋๋ค.
๊ฒฐ๊ณผ
๋ง์์ต๋๋ค!!
๋๊ธ๋จ๊ธฐ๊ธฐ