โ๏ธ ๋ฌธ์
[ํ๋ก๊ทธ๋๋จธ์ค/Programmers] ์นดํซ(https://school.programmers.co.kr/learn/courses/30/lessons/42842)
Leo๋ ์นดํซ์ ์ฌ๋ฌ ๊ฐ๋ค๊ฐ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ค์์๋ ๋ ธ๋์์ผ๋ก ์น ํด์ ธ ์๊ณ ํ ๋๋ฆฌ 1์ค์ ๊ฐ์์ผ๋ก ์น ํด์ ธ ์๋ ๊ฒฉ์ ๋ชจ์ ์นดํซ์ ๋ดค์ต๋๋ค.
Leo๋ ์ง์ผ๋ก ๋์์์ ์๊น ๋ณธ ์นดํซ์ ๋ ธ๋์๊ณผ ๊ฐ์์ผ๋ก ์์น ๋ ๊ฒฉ์์ ๊ฐ์๋ ๊ธฐ์ตํ์ง๋ง, ์ ์ฒด ์นดํซ์ ํฌ๊ธฐ๋ ๊ธฐ์ตํ์ง ๋ชปํ์ต๋๋ค. Leo๊ฐ ๋ณธ ์นดํซ์์ ๊ฐ์ ๊ฒฉ์์ ์ brown, ๋ ธ๋์ ๊ฒฉ์์ ์ yellow๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋ ์นดํซ์ ๊ฐ๋ก, ์ธ๋ก ํฌ๊ธฐ๋ฅผ ์์๋๋ก ๋ฐฐ์ด์ ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- ๊ฐ์ ๊ฒฉ์์ ์ brown์ 8 ์ด์ 5,000 ์ดํ์ธ ์์ฐ์์ ๋๋ค.
- ๋ ธ๋์ ๊ฒฉ์์ ์ yellow๋ 1 ์ด์ 2,000,000 ์ดํ์ธ ์์ฐ์์ ๋๋ค.
- ์นดํซ์ ๊ฐ๋ก ๊ธธ์ด๋ ์ธ๋ก ๊ธธ์ด์ ๊ฐ๊ฑฐ๋, ์ธ๋ก ๊ธธ์ด๋ณด๋ค ๊น๋๋ค.
๐ค ์ ์ถ๋ ฅ ์์
๐ง ๋์ด๋/์์ ์๊ฐ
โ ๋์ด๋: ํ๋ก๊ทธ๋๋จธ์ค Level.2
โ ์์ ์๊ฐ: 22๋ถ
โ ๊ถ์ฅ ์๊ฐ: 1์๊ฐ 15๋ถ
๐ก ํ์ด
1) ๋ฌธ์ ์ดํด
์ ์ฒด ๊ฒฉ์ ์๊ฐ ์ฃผ์ด์ก์ ๋ width*height = brown+yellow ์ด๋ฉด์ (width-2)*(height-2) = yellow์ธ width ๊ฐ, height ๊ฐ์ ์ฐพ์ผ๋ฉด ๋๋ค.
(width-2)*(height-2) = yellow ์ ๊ณ ๋ คํ์ง ์์ผ๋ฉด ๋ฌธ์ ์์ ์ฃผ์ด์ง ์กฐ๊ฑด๊ณผ ๋ค๋ฅธ ๊ทธ๋ฆผ์ด ๋์ค๊ฒ ๋๋ค.
์๋ฅผ ๋ค์ด brown = 18, yellow = 6 ์ผ ๋ width๊ฐ height ์ด์์ด๊ณ width*height๊ฐ brown+yellow ๋ฉด ๋ฐ๋ณต๋ฌธ์ ํ์ถํ๋ค๊ณ ๊ฐ์ ํด๋ณด์. ์ฌ๊ธฐ์ (width-2)*(height-2) = yellow ์กฐ๊ฑด์ด ์์ ๊ฒฝ์ฐ width = 6, height = 4์์ ๋ฐ๋ณต๋ฌธ์ ๋น ์ ธ๋์ค๊ฒ ๋๋๋ฐ, ์ด ๊ฐ์ ๊ฐ์ง๊ณ ๊ฐ์ ๊ฒฉ์๊ฐ ๋ ธ๋์ ๊ฒฉ์๋ฅผ ๋๋ฌ์ธ๋ ๊ทธ๋ฆผ์ ๊ทธ๋ ค๋ณด๋ฉด brown = 16, yellow = 8 ์ด์ด์ผ ํ๋ ๊ฑธ ํ์ธํ ์ ์๋ค. ์ฃผ์ด์ง brown, yellow ๊ฐ๊ณผ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ [6, 4]๋ ์ค๋ต์ด๋ค.
2) ์์ด๋์ด ํ๋ฆ
โ i: 1๋ถํฐ max(brown, yellow)๊น์ง ๋ฐ๋ณต
โก j: (brown+yellow)//i
โข i >= j ์ด๊ณ i*j == total ์ด๋ฉด์ (i-2)*(j-2) == yellow ์ด๋ฉด ๋ฐ๋ณต๋ฌธ ํ์ถ
3) ๊ตฌํ
def solution(brown, yellow):
total = brown+yellow
width, height = 0, 0
for i in range(1, max(brown, yellow)):
j = total//i
if i >= j and i*j == total:
if (i-2)*(j-2) == yellow:
width = i
height = j
break
return [width, height]
4) ์ด๋ ค์ ๋ ์ /๋ฐฐ์ด ์
๐จ ์ด๋ ค์ ๋ ์
- ์์
โ ๋ฐฐ์ด ์
- ์จ์ด ์๋ ์กฐ๊ฑด์ ์ ์๊ฐํด๋ด์ผ ํ๋ค.
'Problem Solving > [ํญํด99] TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
99ํด๋ฝ ์ฝํ ์คํฐ๋ 23์ผ์ฐจ TIL / ์์ ํ์ (0) | 2024.11.19 |
---|---|
99ํด๋ฝ ์ฝํ ์คํฐ๋ 22์ผ์ฐจ TIL / ์์ ํ์ (1) | 2024.11.18 |
99ํด๋ฝ ์ฝํ ์คํฐ๋ 19์ผ์ฐจ TIL / ๊ทธ๋ฆฌ๋ (0) | 2024.11.15 |
99ํด๋ฝ ์ฝํ ์คํฐ๋ 18์ผ์ฐจ TIL / ๊ทธ๋ฆฌ๋ (1) | 2024.11.14 |
99ํด๋ฝ ์ฝํ ์คํฐ๋ 17์ผ์ฐจ TIL / ๊ทธ๋ฆฌ๋ (1) | 2024.11.13 |