Search
🔸

큰 수 만들기

제출현황
현재 0명 제출! (0/0명)
분류
그리디
Level
LV2
3 more properties

문제

접근 방식

리스트 자료구조를 활용하여 앞에서 부터 숫자를 비교해가며 [리스트에 저장 된 값 < 새롭게 append() 되는 수] 인 경우를 만족하는 수들을 리스트에서 제거하면 된다.
제거 횟수가 k개로 지정되어 있으므로, k개 만큼 제거 되었을 때 반복문을 탈출하도록 구현한다.
마지막으로, 스택을 활용해 만들어준 가장 큰 숫자를 문자열 형태로 return 해야 하므로 k의 개수에 따라 조건을 설정하여 문자열 형태로 표현되도록 한다.

코드

def solution(number, k): stack=[] for i in number: while stack and k>0 and stack[-1] < i: stack.pop() k-=1 stack.append(i) return ''.join(stack[:-k] if k>0 else stack)
Python
복사