๋ณธ ๋ฌธ์ ์์๋ ์์ฐ์ 5๊ฐ๊ฐ ์ฃผ์ด์ง๋๋ค.
- ์ซ์๋ฅผ ์ฐจ๋ก๋ก ๊ณฑํด ๋์จ ์๊ฐ ์ ๊ณฑ์1๊ฐ ๋๋ฉด found๋ฅผ ์ถ๋ ฅ
- ๋ชจ๋ ์๋ฅผ ๊ณฑํด๋ ์ ๊ณฑ์๊ฐ ๋์ค์ง ์์๋ค๋ฉด not found๋ฅผ ์ถ๋ ฅ
์๋ฅผ ๋ค์ด, [2, 4, 2, 5, 1]์ ์ ์๋ฅผ ์ฐจ๋ก๋๋ก ๊ณฑํ ๋, ์๋ฅผ ๊ณฑํด๋๊ฐ๋ฉด 2, 8, 16, 80, 80 ์ด ๋์ต๋๋ค.
16์ 4๋ฅผ ์ ๊ณฑํด ๋์จ ์์ด๋ฏ๋ก, ์ด ์๋ ์ ๊ณฑ์์ ๋๋ค. ๋ฐ๋ผ์ found๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
๋ฐ๋๋ก, [5, 1, 2, 3, 1]์ ์ ์๋ฅผ ์ฐจ๋ก๋๋ก ๊ณฑํ ๋, ์๋ฅผ ๊ณฑํด๋๊ฐ๋ฉด 5, 5, 10, 30, 30 ์ด ๋์ต๋๋ค.
์ด์ค ์ด๋ค ์๋ ์ ๊ณฑ ์๊ฐ ์๋๋ฏ๋ก not found๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
์ฝ๋๋ฅผ ์์ฑํด๋ด ์๋ค.
์ผ๋ฐ์ ์ธ ๊ตฌํ (for ๋ฐ๋ณต๋ฌธ๊ณผ ์กฐ๊ฑด๋ฌธ ์ฌ์ฉ)
res = "not found"
tmp = 1
for i in range(5):
a = int(input())
if (((tmp*a) ** 0.5) % 1) == 0:
res = "found"
tmp*=a
print(res)
์ ์์ค์ฝ๋๋ ์ง์ ์์ฑํ ์ฝ๋์ ๋๋ค.
5๋ฒ ๋ฐ๋ณตํ๋ฉฐ ๊ฐ๊ฐ์ ์๋ฅผ ๊ณฑํ ๊ฒฐ๊ณผ๋ฅผ ๋น๊ตํ๋ ๋ฐฉ์์ ๋๋ค.
ํ์ด์ฌ์ผ๋ก ๊ตฌํ์ ํ ๋์๋ ๋ ๊ฐ๋จํ๊ฒ ์์ฑํ ์ ์์ต๋๋ค. ๋ฐ๋ก for-else๋ฌธ์ ๋๋ค.
for-else ์ฌ์ฉํ์ฌ ๊ตฌํ
import math
numbers = [int(input()) for _ in range(5)]
multiplied = 1
for number in numbers:
multiplied *= number
if math.sqrt(multiplied) == int(math.sqrt(multiplied)):
print('found')
break
else:
print('not found')
for-else๋ฌธ์ ์ฌ์ฉํ์์ต๋๋ค.
๋ฆฌ์คํธ ๋ด ์์๋ฅผ ํ์ํ๋ฉด์ ์กฐ๊ฑด๋ฌธ์ ํตํด ๊ฒ์ฌํ๋ ๋ฐฉ์์ ๋๋ค.
๋ฐ๋ณต๋ฌธ ๋ด ์กฐ๊ฑด๋ฌธ์์ ์กฐ๊ฑด์ ํด๋นํ๋ ๊ฒฝ์ฐ ๋ฐ์ ์ break๋ฌธ์ ํตํด ๋ฐ๋ณต๋ฌธ์ ๋น ์ ธ๋๊ฐ๋๋ค.
์ ์์ ์ผ๋ก 5ํ ๋ฐ๋ณต์ ๋ง์น๋ฉด else๋ฌธ์ ํด๋นํ๋ ๊ตฌ๋ฌธ์ด ์คํ๋ฉ๋๋ค.