Skip to content
This repository was archived by the owner on Dec 1, 2022. It is now read-only.

Latest commit

ย 

History

History
57 lines (51 loc) ยท 1.65 KB

File metadata and controls

57 lines (51 loc) ยท 1.65 KB

์ œ๊ณฑ์ˆ˜๋ฅผ ์ฐพ์•„๋ณด์„ธ์š”!

์ž…๋ ฅ๋˜๋Š” ์ˆ˜๋Š” 5๊ฐœ์ž…๋‹ˆ๋‹ค. ์ˆซ์ž๋ฅผ ์ฐจ๋ก€๋กœ ๊ณฑํ•ด ๋‚˜์˜จ ์ˆ˜๊ฐ€ ์ œ๊ณฑ์ˆ˜ 1์ด ๋˜๋ฉด 'found'๋ฅผ ์ถœ๋ ฅ, ์ œ๊ณฑ์ˆ˜๊ฐ€ ์—†๋‹ค๋ฉด 'not found'๋ฅผ ์ถœ๋ ฅํ•˜์„ธ์š”.

input example:

2
4
2
5
1

output example:

found

์ˆ˜๋ฅผ ๊ณฑํ•ด๋‚˜๊ฐ€๋ฉด 2, 8, 16, 80, 80์ด ๋‚˜์˜ต๋‹ˆ๋‹ค.
์—ฌ๊ธฐ์„œ 16์€ 4๋ฅผ ์ œ๊ณฑํ•ด ๋‚˜์˜จ ์ˆ˜์ด๋ฏ€๋กœ ์ œ๊ณฑ์ˆ˜์ด๊ธฐ ๋•Œ๋ฌธ์— found๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

ํŠน์ • ๊ธฐ๋Šฅ์„ ๋ชจ๋ฅด์‹œ๋Š” ๋งŽ์€ ๋ถ„๋“ค์€ ์•„๋ž˜์™€ ๊ฐ™์ด flag ๋ณ€์ˆ˜ ๋“ฑ์„ ์ด์šฉํ•ด ๋ฌธ์ œ๋ฅผ ํ’€๊ฑฐ์—์š”.

import math

a = [int(input()) for _ in range(5)]
tot = 1
flag = True
for i in a:
    tot *= i
    if math.sqrt(tot) == int(math.sqrt(tot)):
        flag = False
        print('found')
        break
if flag:
    print('not found')




๋ณด๋‹ค ํŒŒ์ด์ฌ๋‹ต๊ฒŒ ์ž‘์„ฑํ•œ๋‹ค๋ฉด?

ํŒŒ์ด์ฌ์—์„œ๋Š” for-else ๋ฌธ์„ ์ด์šฉํ•ด ์ฝ”๋“œ๋ฅผ ๋”์šฑ ์งง๊ฒŒ ์“ฐ๋ฉฐ ์˜๋ฏธ๋ฅผ ์•Œ์•„๋ณด๊ธฐ ์‰ฝ๋‹ต๋‹ˆ๋‹ค!

import math

a = [int(input()) for _ in range(5)]
tot = 1
for i in a:
    tot *= i
    if math.sqrt(tot) == int(math.sqrt(tot)):
        print('found')
        break
else:
    print('not found')

๋‹ค์ˆ˜์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ else๋ฌธ์€ if์™€ ํ•จ๊ป˜ ์˜ค๋Š” ๊ฒฝ๊ตฌ๊ฐ€ ๋Œ€๋ถ€๋ถ„์ด์—์š”.
ํ•˜์ง€๋งŒ ํŒŒ์ด์ฌ์—์„  ์œ„ ์ฒ˜๋Ÿผ for์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ•˜์ฃ .

์œ„ ์ƒํ™ฉ์ฒ˜๋Ÿผ for ๋ฌธ์ด ์ค‘๊ฐ„์— break ๋˜์—ˆ๋Š”์ง€๋ฅผ ํŒ๋ณ„ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์–ด ํ…Œ์ŠคํŠธ ๋ณ€์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ ์ด์ œ ์šฐ๋ฆฌ๋Š” ์•Œ์•˜์Šต๋‹ˆ๋‹ค. for-else๋ฅผ ์ด์šฉํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค๋Š”๊ฑธ