[๋ฌธ์ ๋งํฌ] ๐
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
ํ์ด ๋ฐฉ๋ฒ
๐ก 2๋ก ๋๋๊ธฐ
์ฃผ์ด์ง ์์์ ์์ ๋ ์ฌ๋์๊ฒ ๋๋์ด ์ฃผ์ด์ผ ํ๋ฏ๋ก 2๋ก ๋๋๋ค. 2๋ก ๋๋ ๋ชซ๋งํผ ์์์ ์์๋๋ก ๋ฐฐ์นํ๋ฉด ๋๋ค.
์ ๋ ฅ ์์
[1, 7, 1, 2]
- 0๋ฒ์งธ ์ธ๋ฑ์ค๋ ๋ฌผ์ ์์ด๊ณ , ๋ฌผ์ ํญ์ 1์ด๋ฏ๋ก ์ ๊ฒฝ ์ฐ์ง ์๋๋ค.
- 1๋ฒ์งธ ์ธ๋ฑ์ค๋ถํฐ ์์์ ์์ด ์ฃผ์ด์ง๋ค.
- 1๋ฒ์งธ ์ธ๋ฑ์ค๋ฅผ 2๋ก ๋๋ ๋ชซ์ 3์ด๋ค. ์ด ๋ง์, 7๊ฐ์ ์์์ 3๊ฐ์ฉ ๋๋์ด์ ๋ ์ฌ๋์๊ฒ ์ค ์ ์๋ค๋ ๋ง์ด๋ค. ๋ฐ๋ผ์ 1์ 3๋งํผ ์ ์ฅํ๋ค.
- 2๋ฒ์งธ ์ธ๋ฑ์ค๋ 2๋ณด๋ค ์์ผ๋ฏ๋ก ๋ ์ฌ๋์๊ฒ ๋๋์ด ์ค ์ ์๋ค. ๋ฐ๋ผ์ ๋ฌด์ํ๋ค.
- 3๋ฒ์งธ ์ธ๋ฑ์ค๋ฅผ 2๋ก ๋๋ ๋ชซ์ 1์ด๋ค. ์ฆ 2๊ฐ์ ์์์ 1๊ฐ์ฉ ๋๋์ด ์ค ์ ์์ผ๋, 3์ 1๋งํผ ์ ์ฅํ๋ค.
์ด๋ฐ ๊ณผ์ ์ ๊ฑฐ์ณ์ ๋์จ ๊ฐ์ '1113' ์ด๋ค. ์ฌ๊ธฐ์ 1113์ ๋ฐ๋๋ก ๋ค์ ๋ฐฐ์นํด์ผ ํ๋ฏ๋ก ๋ฌธ์์ด[::-1] ์ ์ฌ์ฉํ๋ค.
์ต์ข ์ ์ผ๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ ๋ ๊ธฐ์กด ๋ฌธ์์ด + 0 + ๊ธฐ์กด ๋ฌธ์์ด[::-1] ์ ๋ฐํํ๋ค.
Solution
def solution(food):
answer = ''
for i in range(1, len(food)):
if food[i] >= 2: # 2๋ก ๋๋ ์ผ ํ๋ฏ๋ก 2๋ณด๋ค ์ปค์ผ ํ๋ค.
for j in range(food[i] // 2):
answer += str(i)
return answer + '0' + answer[::-1]
๐ฉ๐ป ํ๊ณ
์ด์ค for ๋ฌธ ๋ง๊ณ ์๋์ ๊ฐ์ด ์์ฑํด๋ ๋๋ค. ์๋ ์ด์ค for ๋ฌธ์ผ๋ก ํ ์๊ฐ์ด ์์๋๋ฐ, str(food[i] // 2) ๋ผ๊ณ ํ๋ ๋ฐ๋์ ๊ฐ์ด ์ ๋๋ก ์ ๋์์ ๊ฒฐ๊ตญ solution ์ฝ๋๋ฅผ ์งฐ๋ค.
answer += str(i) * (food[i] // 2)
๋ค๋ฅธ ํ์ด๋ฅผ ๋ดค๋๋ฐ ์ด๋ ๊ฒ ๊ฐ๋จํ๊ฒ ํธ๋ ๋ฐฉ๋ฒ๋ ์์๋ค. ๋๋จํ๋ค๋ ๋ง ๋ฐ์๋...
def solution(food):
answer = ''.join(str(foodNumber) * (quantity // 2) for foodNumber, quantity in enumerate(food))
return answer + '0' + answer[::-1]
'๐งฉ Algorithm > [Programmers] Level 1' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Programmers] L1. ์ถ์ต ์ ์ (Python) (1) | 2024.11.16 |
|---|---|
| [Programmers] L1. [1์ฐจ] ๋น๋ฐ์ง๋ (Python) (1) | 2024.11.12 |
| [Programmers] L1. ์ฝ๋ผ ๋ฌธ์ (Python) (0) | 2024.11.07 |
| [Programmers] L1. ๋ชจ์๊ณ ์ฌ (์์ ํ์/Python) (0) | 2024.11.06 |
| [Programmers] L1. ๋ฌธ์์ด ๋ด ๋ง์๋๋ก ์ ๋ ฌํ๊ธฐ (Python) (1) | 2024.11.06 |