본문 바로가기

알고리즘/프로그래머스(Python)

[알고리즘] 프로그래머스 큰 수 만들기 / python

https://programmers.co.kr/learn/courses/30/lessons/42883

 

코딩테스트 연습 - 큰 수 만들기 | 프로그래머스

 

programmers.co.kr

 

생각해야할것

* 두번째 예시에서 3을 넣을때 1,2 두개를 빼줘야한다

* 만약 number = "9876", k = 2 일때, 76을 잘라주는 경우도 생각

 

def solution(number, k):
    answer = ''
    arr = []
    
    for i, num in enumerate(number):
        while len(arr) > 0 and num > arr[-1] and k > 0:
            arr.pop()
            k -= 1
        if k == 0:
            arr += list(number[i:])
            break
        arr.append(num)
    
    if k != 0:
        arr = arr[:-k]
    
    answer = ''.join(arr)
    
    return answer
list(number[i:])는 "123" -> ['1','2','3']으로 만들어줌