[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์”ฉ ๋Š˜๋ ค๊ฐ€๋ฉฐ ๊ณ„์‚ฐํ•˜๋ฉด ๋˜์ง€ ์•Š์„๊นŒ ์‹ถ๋‹ค.


Categories:

Updated:

Leave a comment