6359๋ฒ: ๋ง์ทจํ ์๋ฒ
ํ ์ค์ ํ ๊ฐ์ฉ ๊ฐ ํ ์คํธ ์ผ์ด์ค์ ๋ต, ์ฆ ๋ช ๋ช ์ด ํ์ถํ ์ ์๋์ง๋ฅผ ์ถ๋ ฅํ๋ค.
www.acmicpc.net
๋ฌธ์
์๊ฐ๋ํ๊ต ๊ณค์๊ฐ ๊ธฐ์์ฌ์ ์งํ์๋ n๊ฐ์ ๋ฐฉ์ด ์ผ๋ ฌ๋ก ๋์ด์ ๊ฐ์ฅ์ด ์๋ค. ๊ฐ ๋ฐฉ์๋ ๋ฒ์ ์ ๋ง์ด ๋ฐ์ ํ์์ด ๊ตฌ๊ธ๋์ด์๋ค. ๊ทธ๋ฌ๋ ์ด๋ ๋ , ๊ฐ์ฅ ๊ฐ์์ธ ์๋ฒ์ด๋ ์ง๋ฃจํ ๋๋จธ์ง ์ ์ ๋๊ฐ ๊ฒ์์ ํ๊ธฐ๋ก ๊ฒฐ์ ํ๋ค. ๊ฒ์์ ์ฒซ ๋ฒ์งธ ๋ผ์ด๋์์ ์๋ฒ์ด๋ ์์คํค๋ฅผ ํ ์ ๋ค์ดํค๊ณ , ๋ฌ๋ ค๊ฐ๋ฉฐ ๊ฐ์ฅ์ ํ ๊ฐ์ฉ ๋ชจ๋ ์ฐ๋ค. ๊ทธ ๋ค์ ๋ผ์ด๋์์๋ 2, 4, 6, ... ๋ฒ ๋ฐฉ์ ๋ค์ ์ ๊ทธ๊ณ , ์ธ ๋ฒ์งธ ๋ผ์ด๋์์๋ 3, 6, 9, ... ๋ฒ ๋ฐฉ์ด ์ด๋ ค์์ผ๋ฉด ์ ๊ทธ๊ณ , ์ ๊ฒจ์๋ค๋ฉด ์ฐ๋ค. k๋ฒ์งธ ๋ผ์ด๋์์๋ ๋ฒํธ๊ฐ k์ ๋ฐฐ์์ธ ๋ฐฉ์ด ์ด๋ ค ์์ผ๋ฉด ์ ๊ทธ๊ณ , ์ ๊ฒจ ์๋ค๋ฉด ์ฐ๋ค. ์ด๋ ๊ฒ n๋ฒ์งธ ๋ผ์ด๋๊น์ง ์งํํ ์ดํ, ์๋ฒ์ด๋ ์์คํค์ ๋ง์ง๋ง ๋ณ์ ๋ง์๊ณ ์ฐ๋ฌ์ ธ ์ ๋ ๋ค.
๊ตฌ๊ธ๋์ด์๋ ๋ช ๋ช (์ด์ฉ๋ฉด 0๋ช )์ ํ์๋ค์ ์์ ์ ๋ฐฉ์ ์ ๊ทธ์ง ์์ ์ฑ ์๋ฒ์ด๊ฐ ์ฐ๋ฌ์ ธ๋ฒ๋ ธ๋จ ๊ฒ์ ๊นจ๋ซ๊ณ ์ฆ์ ๋๋ง์น๋ค. ๋ฐฉ์ ๊ฐ์๊ฐ ์ฃผ์ด์ก์ ๋, ๋ช ๋ช ์ ํ์๋ค์ด ๋์ฃผํ ์ ์๋์ง ์์๋ณด์.
์ ๋ ฅ
์ ๋ ฅ์ ์ฒซ ๋ฒ์งธ ์ค์๋ ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์ T๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ ํ ์ค์ ํ ๊ฐ์ฉ ๋ฐฉ์ ๊ฐ์ n(5 ≤ n ≤ 100)์ด ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
ํ ์ค์ ํ ๊ฐ์ฉ ๊ฐ ํ ์คํธ ์ผ์ด์ค์ ๋ต, ์ฆ ๋ช ๋ช ์ด ํ์ถํ ์ ์๋์ง๋ฅผ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ
2
5
100
์์ ์ถ๋ ฅ
2
10
๋ฌธ์ ์ค๋ช

๋นจ๊ฐ๋ฌธ์ด ์ด๋ฆฐ ๋ฌธ์ด๋ค. 1๋ผ์ด๋์ด๋ฉด 1์ ๋ฐฐ์์ ๋ฌธ๋ง ๋ณธ๋ค. 2๋ผ์ด๋ ๋๋ 2์ ๋ฐฐ์์ ๋ฌธ๋ง ๋ณธ๋ค. 2์ ๋ฐฐ์์ ๋ฌธ๋ค์ด ๋ซํ์์ผ๋ฉด ์ด๊ณ , ์ด๋ ค ์์ผ๋ฉด ๋ซ๋๋ค. ๋๋จธ์ง ๋ผ์ด๋๋ ์ด์ ๊ฐ๋ค.
Solution
import sys
input = sys.stdin.readline
T = int(input())
for _ in range(T):
n = int(input())
door = [False]*(n+1) #๋ฌธ์ด ๋ซํ์๋ ๊ฑธ False๋ก ํํ
cnt = 0 #๊ฒฐ๊ณผ๊ฐ์ ์ํ ์นด์ดํธ ๋ณ์
for i in range(1, n+1): #๋ผ์ด๋
for j in range(i, n+1): #๋ฐฉ
if j % i == 0: #๋ฐฐ์๋ฅผ ์ฐพ๊ธฐ ์ํ ์กฐ๊ฑด๋ฌธ
if door[j] == False: #๋ฌธ์ด ๋ซํ์์ผ๋ฉด ์ด๊ธฐ(True๋ก ๋ณํ)
door[j] = True
else: #๋ฌธ์ด ์ด๋ ค์์ผ๋ฉด ๋ซ๊ธฐ (False๋ก ๋ณํ)
door[j] = False
for k in door:
if k == True: #๋ฐฉ๋ค ์ค์ ์ด๋ ค์๋ ๊ฒ๋ง ์นด์ดํธ
cnt += 1
print(cnt)
๋ค๋ฅธ ํ์ด
from math import floor
t = int(input())
for i in range(t):
n = int(input())
print(floor(n ** 0.5))
๊ฐ๋จํ ํ์ด๋ ์๋ค. ํ์คํ ์ ์ฝ๋์ ๋น๊ตํด์ ์งง๊ณ ๋ช ๋ฃํ๋ค.
'๐งฉ Algorithm > [BOJ] Bronze' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| BOJ 2748๋ฒ : ํผ๋ณด๋์น ์ 2 (Python/Bronze 1) (0) | 2023.09.25 |
|---|---|
| BOJ 2587๋ฒ : ๋ํ๊ฐ2 (Python/Bronze 2) (0) | 2023.05.04 |
| BOJ 1547๋ฒ : ๊ณต (Python/Bronze 3) (0) | 2023.04.12 |
| BOJ 25314๋ฒ : ์ฝ๋ฉ์ ์ฒด์ก๊ณผ๋ชฉ ์ ๋๋ค (Python/Bronze 5) (0) | 2023.03.24 |
| BOJ 2851๋ฒ : ์ํผ ๋ง๋ฆฌ์ค (Python/Bronze 1) (0) | 2023.03.21 |