Computer Science/알고리즘

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

바보1 2023. 10. 20. 21:57

0.  문제 링크

 

 

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


1.  풀이 방법

 

 

  1. 예전에 오등큰수와 크게 만들기를 푼 적이 있는데, 해당 알고리즘을 그대로 사용했다.
  2. 아래 내용을 참고하면 좋을 것 같다.

2023.08.25 - [Computer Science/알고리즘] - [백준 - Python] 2812 - 크게 만들기

 

[백준 - Python] 2812 - 크게 만들기

0. 문제 링크 https://www.acmicpc.net/problem/2812 2812번: 크게 만들기 N자리 숫자가 주어졌을 때, 여기서 숫자 K개를 지워서 얻을 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 1. 풀이

hi-guten-tag.tistory.com


2.  코드

 

 

def solution(number, k):
    answer = []
    
    for n in number:
        while answer and answer[-1] < n and k > 0:      # 백준 2812 크게 만들기와 똑같음
            k -= 1
            answer.pop()
        answer.append(n)
    
    return ''.join(answer[0:len(number) - k])

3.  마무리