๋ฐ์ํ
๋ฌธ์ ๋งํฌ
https://programmers.co.kr/learn/courses/30/lessons/42842
๋์ ํ์ด
์ผ๋จ brown๊ณผyellow์ ํฉ์ ์ฝ์๋ง ํ๋ณ์ ๊ธธ์ด๊ฐ ๋ ์ ์๋ค๋ ๊ฒ์ ์บ์นํด์ผํ๋ค.
๊ทธ๋ฆฌ๊ณ , ๊ท์น์ ์ดํด๋ณด๋ฉด, ๋ฌธ์ ์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด yellow๊ฐ brown์ ๋ชจ๋ ๋๋ฌ์์ฌ์์ผ๋ ค๋ฉด ๊ฐ ๋ณ์ -2ํ ๊ฒ๋ค์ ๊ณฑ์ด yellow์ ๊ฐฏ์์ ๊ฐ์์ผํจ์ ์ ์ ์๋ค. ๊ทธ๋๋ก ์๊ฐํ๋๋ก ์ฝ๋๋ฅผ ๊ตฌํํ๋ค.
def solution(brown, yellow):
answer = []
div = [] # ์ฝ์๋ฅผ ๋ฃ์๊ฑฐ์
total = brown + yellow
for i in range(3, total+1):
if total % i == 0:
div.append(i)
for d in div:
n = total //d
if (d-2)*(n-2) == yellow :
answer.append(n)
answer.append(d)
answer.sort(reverse = True)
break
else:
pass
return answer
๋ค๋ฅธ์ฌ๋ํ์ด
https://programmers.co.kr/learn/courses/30/lessons/42842/solution_groups?language=python3
def solution(brown, red):
for i in range(1, int(red**(1/2))+1):
if red % i == 0:
if 2*(i + red//i) == brown-4:
return [red//i+2, i+2]
์ฝ๋๊ฐ ์๋นํ ๊ฐ๊ฒฐํ๋ค. ํ์ง๋ง ๋ง์ง๋ง์ ๊ฒฐ๊ตญ +2์ฉ ํด๋์ ๊ฒ์ ๋ณด๋ฉด, ๋์ ๊ฐ์ ๊ท์น์ ์ฐพ์๊ฒ์ ํ์ธํ ์์๋ค. ์ฝ๋๋ฅผ ์ฐธ๊ณ ํด์ ์กฐ๊ธ ๋ ๊ฐ๊ฒฐํ ์ฝ๋๋ฅผ ์งค ์ ์๋๋ก ๋ ธ๋ ฅํด๋ณด์!
๋ฐ์ํ
'Algorithm > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์ฌ๋ฐ๋ฅธ ๊ดํธ (level.2) (0) | 2021.10.13 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ์ด๋ถํ์ - ์ ๊ตญ์ฌ์ฌ (level.3) (0) | 2021.10.07 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ฃผ์๊ฐ๊ฒฉ (level.2) (0) | 2021.09.23 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์คํ์ฑํ ๋ฐฉ (์นด์นด์ค, level.2) (0) | 2021.09.16 |
[ํ๋ก๊ทธ๋๋จธ์ค] 124๋๋ผ์ ์ซ์ (level.2) (0) | 2021.09.16 |