๐ ๋ฐฑ์ค 6359 - ๋ง์ทจํ ์๋ฒ
๋ฐฑ์ค 6359 - ๋ง์ทจํ ์๋ฒ
โก๏ธ ๋์ ํ์ด
์ธ๋ป ๋ณด๋ฉด ์ ๋ฒ์ ํ์๋ ๋ฐฑ์ค 1244 - ์ค์์น ์ผ๊ณ ๋๊ธฐ๋ฌธ์ ์ ๋น์ทํ๋ฐ, ๋ฒ์ ์ ์ฒด๋ฅผ ์ดํด๋ณด๋ฉด์ ์ํ๋ฅผ ๋ฐ๊พผ๋ค๋ ์ ์ด ์กฐ๊ธ ๋ค๋ฅด๋ค. (1244
๋ฌธ์ ๋ ์ฃผ์ด์ง n์ ๋ฐฐ์๋ง ์ํ๋ฅผ ๋ฐ๊พธ๋ฉด ๋์)
์ฃผ์ด์ง ๋ฌธ์ ๊ทธ๋๋ก ๊ตฌํํ๋ค๋ณด๋๊น ์๊ฐ์ ์ ๋ชปํ๋๋ฐ 1 ~ 2
๋ผ์ด๋๋ 3 ~ k
๋ผ์ด๋์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ด๋ ค์์ผ๋ฉด ์ ๊ทธ๊ณ , ์ ๊ฒจ์๋ค๋ฉด ์ฌ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด๋ ๋ต์ ๊ฐ๊ฒ ๋์จ๋ค.
1, 0
์ํ๋ฅผ ๋ฐ๊ฟ ๋ ๐ฏ tip
์ธ๋ฐ if not gate[j]: gate[j] = 1
or if gate[j]: gate[j] = 0
๋์ gate[j] = (gate[j] + 1) % 2
๋ฅผ ์ฌ์ฉํด๋ ๊ฒฐ๊ณผ๋ ๊ฐ์ง๋ง ์ฝ๋๋ ํจ์ฌ ๊ฐ๊ฒฐํด์ง๋ค. ์ด์ ์ ๊ณต๋ถํ ๋ด์ฉ์ด๋ค.
๋ค๋ฅธ์ฌ๋์ ์ฝ๋๋ฅผ ๋ณด๋๊น ๊ฒฝ์
์ ๊ธ์น ๋ชปํ๋๋ฐ ์ ๊ณฑ๊ทผ์ผ๋ก ๊ตฌํ๋ค.(์ด๋ป๊ฒ ์ ๋ฐ ์๊ฐ์.. ๐คญ ๐คญ) 1 ~ 3: 1
, 4 ~ 9: 2
์ด๋ฐ ๊ท์น์ ์ ๋ดค์ด์ผํ๋๋ฐ ์์ฝ๋ค!
์ฒ์ ํผ ํ๋ฆ
n
๋งํผ ์๋ฅผ ์ด๊ธฐํ ํ๋ค. (-3333
์index
๋ฅผ ์ฝ๊ฒ ๊ณ์ฐํ๋ ค๊ณ ๋ฃ์๋ค.)1 ~ 2
๋ผ์ด๋์์2
์ ๋ฐฐ์๋ง ์ํ๋ฅผ ๋ฐ๊พผ๋ค.3 ~ n
๋ผ์ด๋๊น์งi
์ ๋ฐฐ์ ์๋ฆฌ๋ง ์ํ๋ฅผ ๋ฐ๊พผ๋ค.
๋์ค์ ํผ ํ๋ฆ
n
๋งํผ ์๋ฅผ ์ด๊ธฐํ ํ๋ค. (-3333
์index
๋ฅผ ์ฝ๊ฒ ๊ณ์ฐํ๋ ค๊ณ ๋ฃ์๋ค.)1 ~ n
๋ผ์ด๋๊น์งi
์ ๋ฐฐ์ ์๋ฆฌ๋ง ์ํ๋ฅผ ๋ฐ๊พผ๋ค.
๋ค๋ฅธ ์ฌ๋์ ์ฝ๋
- ์ ๊ณฑ๊ทผ์ ๊ตฌํ๋ค.
int(n**0.5)
# ๋์ ์ฝ๋
T = int(input())
def game(n):
gate = [-3333] # declare garbage value for easy count index
gate += [1] * n # 0: close, 1: open
for i in range(1, n + 1): # 1 ~ 2 round
if not i % 2:
gate[i] = 0
for i in range(3, n + 1): # 3 round ~ n round
for j in range(i, n + 1, i):
gate[j] = (gate[j] + 1) % 2
return gate.count(1) # count open gate
for _ in range(T):
n = int(input())
print(game(n))
# ๋จ์ถ ์ฝ๋
T = int(input())
def game(n):
gate = [-3333] # declare garbage value for easy count index
gate += [1] * n # 0: open, 1: closed
for i in range(1, n + 1):
for j in range(i, n + 1, i):
gate[j] = (gate[j] + 1) % 2
print(gate)
return gate.count(0) # count open gate
for _ in range(T):
n = int(input())
print(game(n))
# ๋ค๋ฅธ ์ฌ๋์ ์ฝ๋
T = int(input())
for i in range(T):
n = int(input())
print(int(n ** 0.5))
'Algorithm > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 4458 - ์ฒซ ๊ธ์๋ฅผ ๋๋ฌธ์๋ก (0) | 2021.06.22 |
---|---|
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 2292 - ๋ฒ์ง (0) | 2021.06.18 |
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 1292 - ์ฝ๊ฒ ํธ๋ ๋ฌธ์ (0) | 2021.06.17 |
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 10820 - ๋ฌธ์์ด ๋ถ์ (0) | 2021.06.17 |
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 11723 - ์งํฉ (0) | 2021.06.16 |
๋๊ธ