[백준] 2812번 크게 만들기 ★

Turtle·2023년 2월 28일
0
post-thumbnail

  • 정말 단순한 문제라고 생각하고 접근했는데 예상외로 잘 안풀려서 계속 끙끙댔던 문제였다.

💡문제접근

  • 스택의 마지막 수와 N자리 숫자의 i번째 수를 비교했을때 스택의 마지막 원소의 값이 더 작다면 pop하고 N자리 숫자의 i번째 수를 스택에 넣어준다.

💡코드(메모리 : 57412KB, 시간 : 404ms)

import sys
input = sys.stdin.readline

N, K = map(int, input().strip().split())
li = input().strip()
stack = []
t = K

for i in range(N):
    while stack and t > 0 and stack[-1] < int(li[i]):
        stack.pop()
        t -= 1
    stack.append(int(li[i]))

print(''.join(map(str, stack[:N-K])))

💡소요시간 : 1h

0개의 댓글