본문 바로가기
Beakjoon&프로그래머스/파이썬

[프로그래머스/파이썬] 큰 수 만들기

by 현장 2022. 5. 18.

-Code

def solution(number, k):
    answer = []
    cnt = 0
    for i in number:
        if answer and cnt < k:
            while answer[-1] < i:
                answer.pop()
                cnt += 1
                if not answer or k <= cnt:
                    break
        answer.append(i)
    answer = answer if cnt == k else answer[:-k]
    return ''.join(answer)

처음에는 조합을 이용하여 풀려했으나 시간 초과로 틀렸습니다. 그래서 찾아보니 스택을 이용한 방법이 있어서 코드를 짰으나 틀려서 문제검을 찾아보니 k만큼 수를 안지운 경우에 문제가 생겨서 if문으로 예외 설정을 하니 해결이 되었습니다.