[Algorithm🧬] 백준 2812 : 크게 만들기

또상·2022년 11월 21일
0

Algorithm

목록 보기
103/133
post-thumbnail

문제

스택 이용.

시간 초과.

import sys

readl = sys.stdin.readline

n, k = map(int, readl().split())
num = int(readl())

stack = []
sol = ''


for c in str(num):
    c = int(c)

    # if len(stack) == 0:
    #     stack.append(c)

    while stack and k > 0 and stack[-1] < c:
        stack.pop()
        k -= 1

    stack.append(c)


# 처음에 여기 뺴먹었었음..
# 계속 커서 한번 훑으면서 뺀게 적으면
# 마지막에 빼줘야함.
for i in range(k):
    stack.pop()


print(*stack, sep='')

마지막거 하나 join 으로 바꿨다고 시간 초과 안남..

import sys

readl = sys.stdin.readline

n, k = map(int, readl().split())
num = readl().rstrip()

stack = []


for c in num:
    c = int(c)

    # if len(stack) == 0:
    #     stack.append(c)

    while k > 0 and stack and stack[-1] < c:
        stack.pop()
        k -= 1
    stack.append(c)

if k > 0:
    print(''.join(map(str, stack[:-k])))
else:
    print(''.join(map(str, stack)))

배신감을 느끼는중.

profile
0년차 iOS 개발자입니다.

0개의 댓글