๋ฌธ์
์ฃผ์ด์ง ์ N๊ฐ ์ค์์ ์์๊ฐ ๋ช ๊ฐ์ธ์ง ์ฐพ์์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ ์ค์ ์์ ๊ฐ์ N์ด ์ฃผ์ด์ง๋ค. N์ 100์ดํ์ด๋ค. ๋ค์์ผ๋ก N๊ฐ์ ์๊ฐ ์ฃผ์ด์ง๋๋ฐ ์๋ 1,000 ์ดํ์ ์์ฐ์์ด๋ค.
์ถ๋ ฅ
์ฃผ์ด์ง ์๋ค ์ค ์์์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ 1
4
1 3 5 7
์์ ์ถ๋ ฅ 1
3
ํ์ด
(1) ์ ๋ ฅ ๋ฐ์ ์ซ์๋ฅผ ๊ฐ๊ฐ ์์ ํ๋ณ
1. n๊ณผ n๊ฐ์ ์ซ์๋ฅผ list a์ ์ ์ฅ
2. a๋ฅผ ํ๋์ฉ ํ๋ณ
2-1. a๊ฐ 1 ์ด๋ฉด count--
2-2. a๋ฅผ 2 ~ a-1 ์์๋๋ก ๋๋ ์ ํ๋๋ผ๋ ๋๋จธ์ง๊ฐ 0์ด๋ฉด count-- ํ์ ์ข ๋ฃ (์์๋ 1๊ณผ ์๊ธฐ ์์ ์ผ๋ก๋ง ๋๋ ์ง๋ฏ๋ก)
3. count ์ถ๋ ฅ
# 1978-1.py
n = int(input())
a = list(map(int, input().split()))
count = n
for i in a:
if i == 1:
count -= 1
continue
for j in range(2, i):
if i % j == 0:
count -= 1
break
print(count)
(2) 1~1000๊น์ง์ ์๋ฅผ ๋ฏธ๋ฆฌ ์์ ํ๋ณ ํ ์ ๋ ฅ๋ฐ์ ํ์ธ
1. prime ๋ฆฌ์คํธ์์ ๋ฏธ๋ฆฌ 2, 3์ ๋ฃ์ด๋๋ค
2. 4~1000๊น์ง์ ์ซ์ i๋ฅผ ์์ ํ๋ณ
2-1. i๋ฅผ prime์์ ์ซ์๋ก ๋๋ ๋ชจ๋ 0์ด ์๋๋๋ง prime ๋ฆฌ์คํธ์ ๊ฐ์ ์ถ๊ฐํ๋ค
3. ์ ๋ ฅ๋ฐ์ ์ซ์๋ค์ด prime ์์ ์๋์ง ํ๋์ฉ ํ์ธํ์ฌ count++
4. count ์ถ๋ ฅ
# 1978-2.py
n = int(input())
count = 0
prime = [2, 3]
for i in range(4, 1001):
pp = [i % k for k in prime]
if all(pp):
prime.append(i)
for i in list(map(int, input().split())):
if i in prime:
count += 1
print(count)