โ๋ฌธ์
https://school.programmers.co.kr/learn/courses/30/lessons/42883#
์ฑ๋ฅ ์์ฝ
๋ฉ๋ชจ๋ฆฌ: 14.7 MB, ์๊ฐ: 129.68 ms
๊ตฌ๋ถ
Greedy
๋ฌธ์ ์ค๋ช
์ด๋ค ์ซ์์์ k๊ฐ์ ์๋ฅผ ์ ๊ฑฐํ์ ๋ ์ป์ ์ ์๋ ๊ฐ์ฅ ํฐ ์ซ์๋ฅผ ๊ตฌํ๋ ค ํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ์ซ์ 1924์์ ์ ๋ ๊ฐ๋ฅผ ์ ๊ฑฐํ๋ฉด [19, 12, 14, 92, 94, 24] ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ์ด ์ค ๊ฐ์ฅ ํฐ ์ซ์๋ 94 ์ ๋๋ค.
๋ฌธ์์ด ํ์์ผ๋ก ์ซ์ number์ ์ ๊ฑฐํ ์์ ๊ฐ์ k๊ฐ solution ํจ์์ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. number์์ k ๊ฐ์ ์๋ฅผ ์ ๊ฑฐํ์ ๋ ๋ง๋ค ์ ์๋ ์ ์ค ๊ฐ์ฅ ํฐ ์ซ์๋ฅผ ๋ฌธ์์ด ํํ๋ก return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํ์ธ์.
์ ํ ์กฐ๊ฑด
- number๋ 2์๋ฆฌ ์ด์, 1,000,000์๋ฆฌ ์ดํ์ธ ์ซ์์ ๋๋ค.
- k๋ 1 ์ด์
number์ ์๋ฆฟ์
๋ฏธ๋ง์ธ ์์ฐ์์ ๋๋ค.
์ ์ถ๋ ฅ ์
number | k | return |
"1924" | 2 | "94" |
"1231234" | 3 | "3234" |
"4177252841" | 4 | "775841" |
โ๐ปํ์ด
k๊ฐ๋งํผ ์ ๊ฑฐํด์ ๊ฐ์ฅ ํฐ ์๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค. ๊ฐ์ฅ ํฐ ์๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค๋ ๊ฒ์ ์ฒซ ๋ฒ์งธ ์ซ์๊ฐ ํฌ๋ฉด ๋๋ค.
4177252841์ ์๋ก ์๊ฐํด๋ณด์. 4๊ฐ๋ฅผ ๋ชจ๋ ์ ๊ฑฐํ์์ ๋ ๋จ์ ์ซ์์ ์๋ 6๊ฐ์ด๋ค. ์ด ๋, ๋งจ ์์ ์ฌ ์ ์๋ ๊ฐ์ฅ ํฐ ์๋ 7์ด ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ฐ๋ฆฌ๋ 4์ 1์ ์ ๊ฑฐํด์ผ ํ๋ค๋ ๊ฒ์ ์ ์ ์๋ค.
4์ 1์ ์ ๊ฑฐํ๊ณ k๋ฅผ ๊ฐ์์ํจ๋ค. ๊ทธ๋ฌ๋ฉด 7์ด ๋งจ ์ ์๋ฆฌ ์ซ์๊ฐ ๋๋ค. ์์ ๋ง์ฐฌ๊ฐ์ง๋ก ์งํํ๋ฉด
7๊ณผ 2๋ฅผ ์ง๋ 5๊ฐ ์๋ค. ์ฐ๋ฆฌ๋ ์์ง ์ซ์๋ฅผ ์ ๊ฑฐํ ์ ์๊ณ 5๊ฐ 2๋ณด๋ค ๋ ํฌ๋ฏ๋ก ํฐ ์๋ฅผ ๋ง๋ค๊ธฐ ์ํด 2๋ฅผ ์ ๊ฑฐํด์ผ ํ๋ค.
๊ทธ๋ฌ๋ฏ๋ก 2๋ฅผ ์ ๊ฑฐํ๊ณ k๋ฅผ 1 ๊ฐ์ํ๋ฉด ๋๋ค.
๋๋จธ์ง๋ ๋ง์ฐฌ๊ฐ์ง๋ก ํ๋ฉด ๊ฒฐ๊ตญ ๋จ๋ ์ซ์๋ 75841์ด ๋๋ค.
๊ทธ๋ฐ๋ฐ ์์ ๊ฐ์ ๋ฐฉ์์ ํฐ ์ซ์๊ฐ ๋์ค๋ฉด ์์ ์ซ์๋ค์ ์ง์ฐ๋ ๋ฐฉ์์ด๋ค. ๊ทธ๋ ๋ค๋ฉด ๋ง์ฝ ๋ค์ ์๋ ์ซ์๋ค์ด ๋ค ์์์ ์ง์์ง์ง ์๋ ๊ฒฝ์ฐ๋ ์์ ๊ฒ์ด๋ค. ์๋ฅผ ๋ค์ด, 10์ด ์ฃผ์ด์ง๋ค๋ฉด ์ด ๋ k = 1๋ก 1๊ฐ๋ฅผ ์ ๊ฑฐํด์ผ ํ๋ค. ๊ทธ๋ ๋ค๋ฉด ์ฐ๋ฆฌ๋ ๋จ์ ๊ฐ์๋งํผ ๋ท๋ถ๋ถ์์ ์ ๊ฑฐํ๋ฉด ๋๋ค. ๊ทธ๋ฌ๋ฉด ๋ง๋ค ์ ์๋ ํฐ ์๋ 1์ด ๋๋ค.
๐ป์ฝ๋
def solution(number, k):
answer = ''
num = []
for n in number:
while len(num) > 0 and num[-1] < n and k > 0:
num.pop()
k -= 1
num.append(n)
return answer.join(num[:len(number)-k]) # ๋จ์ k๋งํผ ๋ท๋ถ๋ถ์์ ์ ๊ฑฐ.
๐ํ๊ธฐ
์ํ ๊ณต๋ถ๋ฅผ ์ด๋ป๊ฒ ํ์์ง๋ผ๋ ์๊ฐ์ผ๋ก ๋ค์ ๊ณต๋ถํ๋ ค๋๊น ์ด๋ป๊ฒ ๊ณต๋ถํด์ผ ํ ์ง ๊ฐ์ด ์กํ๋ ๋๋์ด๋ค.
'Coding Test > Algorithms' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 24480. ์๊ณ ๋ฆฌ์ฆ ์์ - ๊น์ด ์ฐ์ ํ์ 2/Python - Silver 2 (0) | 2025.02.04 |
---|---|
[๋ฐฑ์ค] 1753. ์ต๋จ๊ฒฝ๋ก/Python - ๊ณจ๋4 (0) | 2025.01.20 |
[๋ฐฑ์ค] 1449. ์๋ฆฌ๊ณต ํญ์น (0) | 2024.12.21 |
[๋ฐฑ์ค] 11399. ATM/Python - Silver4 (2) | 2024.12.20 |
[๋ฐฑ์ค] 1010.๋ค๋ฆฌ ๋๊ธฐ/Python - Silver5 (1) | 2024.12.06 |