[프로그래머스] - 큰 수 만들기(Python)

병찬·2022년 4월 8일
0

프로그래머스

목록 보기
47/52
post-thumbnail

문제📝


풀이💡

  • 스택에 원소가 존재하고 마지막 원소가 순회하는 i보다 작고 k가 0보다 크면 pop을 이용해서 마지막 원소를 빼고 k를 1줄인다.
  • while문이 종료하면 append로 스택에 순회하는 i를 추가한다.
  • k가 0이 아니면 k개수를 뺀 나머지를 스택에 저장한다.
  • join을 이용해서 stack을 이어붙인다.

코드💻

# 프로그래머스 Lv2 - 큰 수 만들기
# 문제링크: https://programmers.co.kr/learn/courses/30/lessons/42883

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

결과😎


느낀점👨‍💻

스택을 인프런 강의를 통해서 배운적이 있는데 이렇게 문제에 적용해서 풀어본적은 처음인 것 같다. 자료구조가 중요한 것을 다시 한 번 깨닫게 되었다.


Sinbmil의 알고리즘 문제 코드

-> https://github.com/Sinbmil/Algorithm-Study

profile
코딩을 열심히 하고 있습니다:)

0개의 댓글

관련 채용 정보