[Level 2] [Java] 큰 수 만들기
by HeshAlgo728x90
<큰 수 만들기>
문제 설명
어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다.
예를 들어, 숫자 1924에서 수 두 개를 제거하면 [19, 12, 14, 92, 94, 24] 를 만들 수 있습니다. 이 중 가장 큰 숫자는 94 입니다.
문자열 형식으로 숫자 number와 제거할 수의 개수 k가 solution 함수의 매개변수로 주어집니다. number에서 k 개의 수를 제거했을 때 만들 수 있는 수 중 가장 큰 숫자를 문자열 형태로 return 하도록 solution 함수를 완성하세요.
제한 사항
-
number는 1자리 이상, 1,000,000자리 이하인 숫자입니다.
-
k는 1 이상 number의 자릿수 미만인 자연수입니다.
입출력 예
내 생각
처음엔 StringBuilder를 이용해 풀어보았지만 다른 사람의 풀이 중 스택을 이용해 푸는 방법이 더 간단해 보여서 수정을 했습니다. i인덱스와 i+1 인덱스의 값을 비교해 i+1의 인덱스 값보다 i 인덱스 값이 작을 경우 i의 값을 제거하고 k값도 같이 감소시킵니다. 그렇게 k가 0이 될 때 반복문을 빠져나오도록 구현했습니다.
푼 시간
39분 41초
작성 코드
실행 결과
'알고리즘 > 프로그래머스 (Level 2)' 카테고리의 다른 글
[Level 2] [Java] 멀쩡한 사각형 (0) | 2020.01.01 |
---|---|
[Level 2] [Java] 위장 (0) | 2020.01.01 |
[Level 2] [Java] H-Index (0) | 2019.12.24 |
[Level 2] [Java] 전화번호 목록 (0) | 2019.12.24 |
[Level 2] [Java] 탑 (0) | 2019.12.14 |
블로그의 정보
꾸준히 공부하는 개발 노트
HeshAlgo