[프로그래머스 알고리즘 고득점 Kit][그리디][Java] 큰 수 만들기

2026. 8. 10. 15:48·알고리즘 & 자료구조/문제 풀이

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

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

큰 수는 앞자리 숫자가 클수록 유리하므로 StringBuilder를 스택처럼 사용한다.

숫자를 왼쪽부터 확인
→ 현재 숫자가 저장된 마지막 숫자보다 크면 마지막 숫자 삭제
→ 삭제 횟수가 k가 되거나 더 이상 작은 숫자가 없을 때까지 반복
→ 현재 숫자 추가

 

 
다음 숫자가 더 클 때만 삭제하므로

오름차순인 경우는 삭제 횟수가 남을 수 있음 

그래서 모든 숫자를 순회하고도 삭제 횟수가 남았다면 뒤에서부터 삭제를 해야함
 
 
 

각 숫자는 한 번 추가되고 최대 한 번 삭제됨 : 시간 복잡도: O(N)

 
class Solution {
    public String solution(String number, int k) {
        StringBuilder sb = new StringBuilder();
        
        char first = number.charAt(0);
        sb.append(first);
        int count = 0;
        
        for(int i=1; i<number.length(); i++) {
            while(count < k && sb.length() > 0 && sb.charAt(sb.length() - 1) < number.charAt(i)) {
                sb.deleteCharAt(sb.length() - 1);
                count++;
            }
            
            sb.append(number.charAt(i));
        }
        
        for(int i=count; i<k; i++) {
            sb.deleteCharAt(sb.length() - 1);
        }
        
        return sb.toString();
    }
}

 

저작자표시 비영리 변경금지 (새창열림)

'알고리즘 & 자료구조 > 문제 풀이' 카테고리의 다른 글

[프로그래머스 알고리즘 고득점 Kit][그리디][Java] 섬 연결하기  (0) 2026.08.15
[프로그래머스 알고리즘 고득점 Kit][그리디][Java] 구명보트  (0) 2026.08.14
[프로그래머스 알고리즘 고득점 Kit][힙(Heap)][Java] 디스크 컨트롤러  (0) 2026.08.05
[프로그래머스 알고리즘 고득점 Kit][그리디][Java] 조이스틱  (0) 2026.08.02
[프로그래머스 알고리즘 고득점 Kit][스택/큐][Java] 주식가격  (0) 2026.07.29
'알고리즘 & 자료구조/문제 풀이' 카테고리의 다른 글
  • [프로그래머스 알고리즘 고득점 Kit][그리디][Java] 섬 연결하기
  • [프로그래머스 알고리즘 고득점 Kit][그리디][Java] 구명보트
  • [프로그래머스 알고리즘 고득점 Kit][힙(Heap)][Java] 디스크 컨트롤러
  • [프로그래머스 알고리즘 고득점 Kit][그리디][Java] 조이스틱
수수다
수수다
우하하
  • 수수다
    그냥살자
    수수다
  • 전체
    오늘
    어제
    • 분류 전체보기 (92)
      • 프로젝트 (2)
      • 알고리즘 & 자료구조 (49)
        • 내용 정리 (2)
        • 문제 풀이 (47)
      • 데이터베이스 (37)
        • 내용 정리 (1)
        • 문제 풀이 (36)
      • CS (2)
      • 기타 (2)
  • 블로그 메뉴

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

    • 네이버 블로그
  • 공지사항

  • 인기 글

  • 태그

    union-find
    SUBSTR
    DP
    그래프
    bfs
    Java
    coalesce
    백트래킹
    IFNULL
    동적계획법
    해시
    Stack
    정렬
    프로그래머스
    알고리즘
    깊이/너비 우선 탐색(DFS/BFS)
    Round
    코딩테스트
    완전탐색
    분리집합
    Lv2
    mysql
    SQL
    dfs
    코테
    유니온파인드
    date_format
    AVG
    이분탐색
    프로그래머스 알고리즘 고득점 kit
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
수수다
[프로그래머스 알고리즘 고득점 Kit][그리디][Java] 큰 수 만들기
상단으로

티스토리툴바