1978๋ฒ. ์์ ์ฐพ๊ธฐ (silver 4)
์ฃผ์ด์ง ์ N๊ฐ ์ค์์ ์์๊ฐ ๋ช ๊ฐ์ธ์ง ์ฐพ์์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ ์ค์ ์์ ๊ฐ์ N์ด ์ฃผ์ด์ง๋ค. N์ 100์ดํ์ด๋ค.
๋ค์์ผ๋ก N๊ฐ์ ์๊ฐ ์ฃผ์ด์ง๋๋ฐ ์๋ 1,000์ดํ์ ์์ฐ์์ด๋ค.
์ถ๋ ฅ
์ฃผ์ด์ง ์๋ค ์ค ์์์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ 1
4
1 3 5 7
์์ ์ถ๋ ฅ 1
3

n = int(input()) # ์
๋ ฅ๋ฐ์ ์ซ์์ ๊ฐ์
numbers = list(map(int, input().split(' '))) # ๊ณต๋ฐฑ์ผ๋ก ์ซ์ ๊ตฌ๋ถ
cnt = 0
for i in numbers:
prime = 0
if i == 1: # 1์ ์์๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ๋์ด๊ฐ๋ค
continue
for j in range(2, i+1):
if i % j == 0:
prime += 1 # prime == 1 ์ด๋ฉด ์์
if prime == 1:
cnt += 1 # ์์ ๊ฐ์ ์นด์ดํธ
print(cnt)
input์ ์ฌ์ฉํด์ ์ ๋ ฅ๋ฐ์ ์ซ์์ ๊ฐ์๋ฅผ n์ ์ ์ฅํด์ค๋ค.
๊ทธ ๋ค์ numbers์ ๊ณต๋ฐฑ์ ๋๊ณ ์ซ์๋ฅผ ์ ๋ ฅ๋ฐ์ ๋ค์, ๊ทธ ์ซ์๋ฅผ listํํ๋ก ์ ์ฅํด์ค๋ค.
numbers ์์ ์๋ ์์๋ค์ i๋ผ ํ๊ณ ์ด์ ๋ํ์ฌ for๋ฌธ์ ์ฌ์ฉํ๋ค.
prime์ ๊ธฐ๋ณธ๊ฐ์ 0 (์์๊ฐ ์๋)์ผ๋ก ์ ์ฅํด์ฃผ๊ณ ์์๊ฐ 1์ด๋ผ๋ฉด ์์๊ฐ ์๋๊ธฐ ๋๋ฌธ์ continue๋ฌธ์ ์ฌ์ฉํด์ค๋ค.
๊ทธ ์ธ์ ๊ฒฝ์ฐ for๋ฌธ์ ์ฌ์ฉํด์ 2๋ถํฐ i๊น์ง์ ๋ฒ์์์ i%j๊ฐ 0์ธ ๊ฒฝ์ฐ, ๋๋์ด์ง๋ ์๊ฐ ์์ผ๋ ์์๊ฐ ์๋๊ฒ ๋๋ฏ๋ก prime์ 1์ ๋ํด์ค๋ค.
๋ง์ง๋ง์ผ๋ก for๋ฌธ ๋ฐ์ if๋ฌธ์ ์ฌ์ฉํด์ prime == 1, ์ฆ ์์๋ผ๋ฉด cnt์ 1์ฉ ๋ํด์ ์์ ๊ฐ์๋ฅผ ์ ์ฅํ๊ฒ ํด์ฃผ์๊ณ , cnt๋ฅผ ์ถ๋ ฅํด์ฃผ์๋ค.
'๋ฐฑ์ค > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Python] ๋ฐฑ์ค 11866๋ฒ (0) | 2022.07.04 |
|---|---|
| [Python] ๋ฐฑ์ค 1748๋ฒ (0) | 2022.07.04 |
| [Python] ๋ฐฑ์ค 1764๋ฒ (0) | 2022.06.22 |
| [Python] ๋ฐฑ์ค 11650๋ฒ (0) | 2022.05.31 |
| [Python] ๋ฐฑ์ค 1920๋ฒ (0) | 2022.05.31 |