[프로그래머스] LV2. 큰수 만들기 (파이썬, Python)

2026. 5. 15. 16:39·Algorithm Solving

 

 

문제 링크

 

구분

코딩테스트 연습 > 탐욕법(Greedy)

 
 

문제 설명

어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다.

예를 들어, 숫자 1924에서 수 두 개를 제거하면 [19, 12, 14, 92, 94, 24] 를 만들 수 있습니다. 이 중 가장 큰 숫자는 94 입니다.

문자열 형식으로 숫자 number와 제거할 수의 개수 k가 solution 함수의 매개변수로 주어집니다. number에서 k 개의 수를 제거했을 때 만들 수 있는 수 중 가장 큰 숫자를 문자열 형태로 return 하도록 solution 함수를 완성하세요.

제한 조건
  • number는 2자리 이상, 1,000,000자리 이하인 숫자입니다.
  • k는 1 이상 number의 자릿수 미만인 자연수입니다.
입출력 예
number k return
"1924" 2 "94"
"1231234" 3 "3234"
"4177252841" 4 "775841"

 

 

 

 

 

 

첫 시도

def solution(number, k):
    arr = []
    
    # 수를 어떤 방식으로 제거?
    # 19, 12, 14 
    # 92, 94
    # 24
    for i in range(len(number)):
        for j in range(i+1, len(number)):
            string = number[i] + number[j]             # 문자열
            arr.append(int(string))    # 정수로

    arr.sort(reverse=True)
    return str(arr[0])

보다시피 이건 예제1에만 해당되는 풀이였다. 삭제에 초점을 맞추지 않았다 보니 위처럼 숫자를 생각했으나, 2자리수에만 해당되는 풀이였다.

 

 

문제 풀이 

스택을 활용한 것이 큰 포인트이다.

비교를 통해 큰 숫자를 남기고, 더 작은 숫자는 삭제하기!

def solution(number, k):
    stack = []
    answer = ''
    
    # 수를 어떤 방식으로 제거?
    # 큰 수가 아니면 제거 
    
    for num in number:
        while stack and stack[-1] < num and k > 0:           
            stack.pop()
            k -= 1

        stack.append(num)    
    
    # for문을 다 돌고나서 k가 남아있는 경우 - 뒤에부터 삭제
    if k:
        stack = stack[:-k]
 
    return answer.join(stack)

 

 

 

 

'Algorithm Solving' 카테고리의 다른 글

[프로그래머스] LV1. 유연 근무제  (1) 2026.05.16
[프로그래머스] LV1. 신규 아이디 추천 (카카오) (파이썬, Python)  (1) 2026.05.16
[프로그래머스] LV2. 기능개발 (파이썬, Python)  (0) 2026.05.15
[프로그래머스] LV1. 성격 유형 검사하기 (카카오 인턴십) (파이썬, Python)  (0) 2026.05.14
[프로그래머스] LV1. 숫자 짝꿍 (파이썬, Python)  (0) 2026.05.14
'Algorithm Solving' 카테고리의 다른 글
  • [프로그래머스] LV1. 유연 근무제
  • [프로그래머스] LV1. 신규 아이디 추천 (카카오) (파이썬, Python)
  • [프로그래머스] LV2. 기능개발 (파이썬, Python)
  • [프로그래머스] LV1. 성격 유형 검사하기 (카카오 인턴십) (파이썬, Python)
아기꼬래
아기꼬래
  • 아기꼬래
    아꼬의 개발 일지
    아기꼬래
  • 전체
    오늘
    어제
    • 분류 전체보기 (55) N
      • 프로젝트 및 공모전 (4)
        • Oracle 프로젝트 (4)
      • Algorithm Solving (26)
      • SQL (9)
      • Data Analysis (12)
      • AI (0)
      • FastAPI (0)
      • Spring Boot (1) N
      • Oracle (1)
      • AWS (1) N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    미래내일 일경험
    한국오라클
    Algorithm Solving
    데이터시각화
    일경험 프로젝트
    Oracle
    프로그래머스
    python
    일경험
    Oracle 프로젝트
    Algorithm
    coding test
    SQL
    파이썬
    Tableau
    오라클 프로젝트
    시각화
    Oracle 일경험
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
아기꼬래
[프로그래머스] LV2. 큰수 만들기 (파이썬, Python)
상단으로

티스토리툴바