반응형
https://programmers.co.kr/learn/courses/30/lessons/42883
def solution(number, k):
num = []
for n in number:
while num and n > num[-1] and k > 0:
k -= 1
num.pop()
num.append(n)
if k != 0:
num = num[:-k]
return ''.join(num)
입력받은 number에서 큰 수만을 뽑아야 하므로 큰 수를 담을 num 리스트를 생성한다. for문을 통해 number배열을 돌면서 num에 큰 수만을 담는다. while문을 통해 num에 담긴 숫자보다 현재 숫자가 크면 현재 숫자보다 큰 숫자만 담길 때까지 num.pop()을 한다. 현재 숫자보다 작은 숫자들을 다 뺐으면 현재 숫자를 num에 담는다. number에서 큰 수만을 담은 후 number이 충분히 제거되지 못했다면 제거되지 못한 개수만큼 num에서 삭제한다. 어차피 num에 앞에서부터 큰 숫자만으로 채웠으므로 끝에 숫자들을 삭제해도 괜찮다.
반응형
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스/Python] 구명보트 - Level2 (0) | 2021.06.26 |
---|---|
[프로그래머스/Python] 무지의 먹방 라이브 (0) | 2021.06.15 |
[프로그래머스/Python] 조이스틱 - Level2 (0) | 2021.06.13 |
[프로그래머스/Python] 체육복 - Level1 (0) | 2021.06.12 |
[프로그래머스/Python] 이중우선순위큐 - Level3 (0) | 2021.06.01 |