코딩테스트/프로그래머스
[프로그래머스] LV2 큰 수 만들기 | 파이썬
애플파ol
2025. 5. 21. 11:35
Solution:
def solution(number,k):
stack=[] # 새로운 값을 담을 통 필요
for i in number:
# 스택이 비지않고, 제거 횟수 남아야 하고, 스택의 마지막 숫자가 현재 수(i)보다 작다면
while stack and k>0 and stack[-1] <i:
stack.pop()
k=k-1
stack.append(i)
if k>0:
stack=stack[:-1]
stack=''.join(stack)
else:
stack=''.join(stack)
return stack
Skills:
- 'stack의 가장 최근값' 과 '새롭게 추가될 값' 의 비교방식을 생각해 내야함.
- 조건문은 if와 while문 2가지임
- while 문 : 반복 + 조건
- if 문 : 조건