본문 바로가기

CodingTest/Level2

[연습] 코딩테스트 - 큰 수 만들기

코딩테스트 연습

  • programmers.co.kr
  • 큰 수 만들기



못풀어서 다른사람 풀이 참고함.

def solution(number, k):
    st = []
    for i in range(len(number)):
        while st and k > 0 and st[-1] < number[i]:
            st.pop()
            k -= 1
        st.append(number[i])
    return ''.join(st[:len(st) - k])

while st and k > 0 and st[-1] < number[i]: 이부분이 핵심 포인트.


ex) 9122 같은 경우 2는 while문이 실행되지않는데, st[:len(st) - k] 이 부분때문에 어차피 중복인 뒷 숫자들을 잘라 버려버림

반응형