728x90
๐ ๋ฐฑ์ค 1977 - ์์ ์ ๊ณฑ์
๋ฐฑ์ค 1977 - ์์ ์ ๊ณฑ์
โก๏ธ ๋์ ํ์ด
์์ ์ ๊ณฑ์๋ฅผ ๋ง๋ค ๋๋ root๋ง ๊ณ์ฐํ๋ฉด ๋๋ ์ค ์์๋๋ฐ, ๋ฐ๋ก๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋ค์ ์ ๊ณฑ์ ์ทจํด์ค์ผ ํ๋ค๋ ๊ฒ์ ์ฒ์ ์์๋ค.
๊ทธ๋ฆฌ๊ณ root๋ฅผ ์ทจํ ๋ math.sqrt
๋์ i ** 0.5
๋ฅผ ํ๋ฉด ๊ฐํธํ๊ฒ ๊ณ์ฐ ํ ์ ์๋ค. (์ด๊ฒ๋ ์ฒ์ ์์๋ค.)
- ์ฒ์ ์๋ฅผ root๋ฅผ ์ทจํ์(i^0.5)
(first = int(i \*\* 0.5))
- first์ ๋ค์ ๊ฑฐ๋ญ์ ๊ณฑ(i^2)์ ํด์ค๋ค.
(second = first \*\* 2)
while๋ฌธ์ ์ฌ์ฉํ์ง ์์๋ ๋๋ค. ๋ง์ฝ, append๊ฐ์ด ์์ผ๋ฉด ( num == [] )
๊ณผ ๊ฐ์ด ์ฌ์ฉํ๋ค.
m = int(input())
n = int(input())
num = []
for i in range(m, n+1):
root = int(i ** 0.5)
if i == root ** 2:num.append(i)
if num == []:
print(-1)
else:
print(f'{sum(num)}\n{min(num)}')
๋ฐ์ํ
'Algorithm > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 7568 - ๋ฉ์น (0) | 2021.05.18 |
---|---|
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 4673 - ์ ํ ๋๋ฒ (0) | 2021.05.18 |
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 10801 - ์นด๋๊ฒ์ (0) | 2021.05.14 |
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 2845 - ํํฐ๊ฐ ๋๋๊ณ ๋ ๋ค (0) | 2021.05.14 |
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 10214 - Baseball (0) | 2021.05.13 |
๋๊ธ