코딩테스트 큰 수 만들기 문제풀이

프로그래머스 큰 수 만들기(level 2) 문제풀이

def solution(number, k):
  number = list(number)
  data = []
  cnt = 0
  for n in number:
    while data and data[-1] < n and cnt<k:
      data.pop()
      cnt += 1
    data.append(n)

  while(cnt<k):
    data.pop()
    cnt += 1
  return "".join(data)

이번 문제는 테스트케이스 10번이 계속 시간 초과가 나서 못 풀었다

결국 힌트들을 조금 얻어서 스택 알고리즘으로 풀었다
처음 풀었을 때 코드도 스택방식과 동일하지만 pop(i)가 많이
들어가서 시간 초과가 발생한 거 같다

스택을 이용해서 코드를 짜는 좋은 경험이 된 거 같다

좋은 웹페이지 즐겨찾기