Chapter12. ๊ตฌํ
[๋ฌธ์ 64] ํฐ ์ ๋ง๋ค๊ธฐ - Level2
์ด๋ค ์ซ์์์ k๊ฐ์ ์๋ฅผ ์ ๊ฑฐํ์ ๋ ์ป์ ์ ์๋ ๊ฐ์ฅ ํฐ ์ซ์๋ฅผ ๊ตฌํ๋ ค๊ณ ํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ์ซ์ 1924์์ ์ ๋ ๊ฐ๋ฅผ ์ ๊ฑฐํ๋ฉด (19, 12, 14, 92, 94, 24)๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ์ด ์ค ๊ฐ์ฅ ํฐ ์ซ์๋ 94์
๋๋ค.
๋ฌธ์์ด ํ์์ผ๋ก ์ซ์ number์ ์ ๊ฑฐํ ์์ ๊ฐ์ k๊ฐ solution ํจ์์ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. number์์ k๊ฐ์ ์๋ฅผ ์ ๊ฑฐํ์ ๋ ๋ง๋ค ์ ์๋ ์ ์ค ๊ฐ์ฅ ํฐ ์ซ์๋ฅผ ๋ฌธ์์ด ํํ๋ก returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํ์ธ์.
[์ ํ์ฌํญ]
- number๋ 2์๋ฆฌ ์ด์, 1,000,000์๋ฆฌ ์ดํ์ธ ์ซ์
- k๋ 1 ์ด์ number์ ์๋ฆฟ์ ๋ฏธ๋ง์ธ ์์ฐ์
[์ฝ๋์์ฑ]
1. ์ ๋ต์ ๋ฐ์ ๋ณ์ ์์ฑ
def solution(number, k):
answer = []
2. ์คํ๊ธฐ๋ฒ์ ์ฌ์ฉํด ๊ณ ์ ์ ์ง
for num in number:
while k > 0 and answer and answer[-1] < num:
answer.pop()
k -= 1
answer.append(num)
3. ๊ธ์๋ฅผ ์ ๋ถ ํฉ์ณ์ ๋ฐํ
return ''.join(answer[:len(answer) - k])
[์ ์ฒด์ฝ๋]
def solution(number, k):
answer = []
for num in number:
while k > 0 and answer and answer[-1] < num:
answer.pop()
k -= 1
answer.append(num)
print(answer)
return ''.join(answer[:len(answer) - k])