[Programmers] ์นดํซ
Updated:
์นดํซ
์นดํซ ์ ํด๋ฆญํ๋ฉด ๋ฐ๋ก ์ด๋ํ๋ค.
brown์ ํ ๊ฒน๋ง ๋๋ฌ ์์ฌ์๊ธฐ ๋๋ฌธ์ yellow๋ฅผ ํตํด brown ์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ์๋ง ๋ง๋ค๋ฉด ๊ธ๋ฐฉ ํ ์ ์๋ ๋ฌธ์ ์๋ค.
์ด ๋ฌธ์ ๋ yellow ๊ฐ ์ด๋ค ์์ผ๋ก ๋ฐฐ์น ๋์ด์๋๊ฐ? ๋ฅผ ๋ฐ์ ธ์ ๊ทธ ๊ฒฝ์ฐ๋ฅผ ๋ชจ๋ ๊ณ์ฐ ํด๋ด์ผํ๋ ๋ฌธ์ ๋ค.
์๋ฅผ๋ค์ด yellow ๊ฐ 27๊ฐ ์์๋ค๋ฉด 27 * 1 , 12 * 2, 8 * 3, 6 * 4, 4 * 6, 3 * 8, 2 * 12, 1 * 27 ์ ๋ชจ์์ผ๋ก ์์ ์ ์๋ค.
๋ฌผ๋ก ์นดํซ์ ๊ฐ๋ก ๊ธธ์ด๊ฐ ์ธ๋ก ๊ธธ์ด๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๋ค๊ณ ํ์๊ธฐ ๋๋ฌธ์
yellow ์ ๋ฐฐ์น๋ ๊ฐ๋ก๊ฐ ์ธ๋ก ๊ธธ์ด๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ ๊ฒฝ์ฐ๋ง ๋ฐ์ ธ๋ณด๋ฉด ๋๋ค.
def solution(brown, yellow):
for i in reversed(range(yellow + 1)):
if yellow % i == 0 and i >= yellow // i:
brown_cnt = (i + yellow // i) * 2 + 4
if brown_cnt == brown:
return [i + 2, yellow // i + 2]
ํ์ง๋ง brown ์ด ์ฌ๋ฌ ๊ฒน ๋๋ฌ ์์ฌ ์๋ ๊ฒฝ์ฐ๋ ์ ์ฝ๋๋ก ํด๊ฒฐ์ ํ์ง ๋ชปํ๋ค.
์ฌ๋ฌ ๊ฒน์ธ ๊ฒฝ์ฐ๋ ๊ณ์ฐํ๊ณ ์ถ๋ค๋ฉด ์ฒซ ๋ฒ์งธ if ๋ฌธ์์ ๊ฐ๋ก, ์ธ๋ก ๊ธธ์ด๋ฅผ 2์ฉ ๋๋ ค๊ฐ๋ฉฐ ๊ณ์ฐํ๋ฉด ๋์ง ์์๊น ์ถ๋ค.
Leave a comment