크게 만들기 [백준 2812] (파이썬)

오준혁·2023년 6월 18일
0

알고리즘

목록 보기
10/29

문제


크게 만들기 [백준 2812]
https://www.acmicpc.net/problem/2812

풀이


버릴 값을 다 버릴 때가지 가장 마지막에 들어온 값이랑 새로운 값이랑 비교하여서 마지막에 들어온 값이 작은 한 pop, k 값을 줄여주고 새로 들어온 값을 추가 해줌
반복문이 끝났는데 k가 0보다 크면 stack에서 마지막 k 번 까지의 수만 출력

코드



n, k = map(int, input().split())
nums = [i for i in list(input())]
stack = []
for num in nums:
    while stack and stack[-1] < num and k > 0:
        stack.pop()
        k -= 1
    stack.append(num)
if k > 0:
    print(''.join(stack[: -k]))
else:
    print(''.join(stack))
    

0개의 댓글