티스토리 뷰
💻JAVA 코드 바로보기
□문제 설명
어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다.
예를 들어, 숫자 1924에서 수 두 개를 제거하면 [19, 12, 14, 92, 94, 24] 를 만들 수 있습니다. 이 중 가장 큰 숫자는 94 입니다.
문자열 형식으로 숫자 number와 제거할 수의 개수 k가 solution 함수의 매개변수로 주어집니다. number에서 k 개의 수를 제거했을 때 만들 수 있는 수 중 가장 큰 숫자를 문자열 형태로 return 하도록 solution 함수를 완성하세요.
□제한사항
- number는 1자리 이상, 1,000,000자리 이하인 숫자입니다.
- k는 1 이상 number의 자릿수 미만인 자연수입니다.
□입출력 예
number | k | return |
"1924" | 2 | "94" |
"1231234" | 3 | "3234" |
"4177252841" | 4 | "775841" |
🌼 JAVA 알고리즘
□초기화면
□풀이과정
두가지 방법으로 생각해봤는데, 첫번째는 예시3과 같이 긴 숫자가 나올 경우 저장공간에 필요한 메모리가 매우 커지기 때문에, 두번째 방법으로 진행했다. |
class Solution {
public String solution(String number, int k) {
String answer = "";
//1-1.두자리를 없앤 모든 경우의 수를 arrayList에 저장한다.
//1-2.저장공간을 정렬하여 [0]값을 return한다.
//2-1.number을 split하여 arrayList에 저장한다.
//2-2.arrayList을 정렬하여 length-2만큼 answer에 저장한다.
return answer;
}
}
import java.util.ArrayList;
import java.util.Collections;
class Solution {
public String solution(String number, int k) {
String answer = "";
//2-1.number을 split하여 arrayList에 저장한다.
//2-2.arrayList을 정렬하여 length-k만큼 answer에 저장한다.
ArrayList<Integer> numbers = new ArrayList<Integer>();
for(int i=0;i<number.length();i++){
numbers.add(Character.getNumericValue(number.charAt(i)));
}
//정렬
Collections.sort(numbers,Collections.reverseOrder());
for(int i=0;i<numbers.size()-k;i++){
answer+=numbers.get(i);
}
return answer;
}
}
어이쿠 테스트케이스1에 맞추어 너무 단순하게 생각했나보다.. |
'[코테] > [Programmers Lv2]' 카테고리의 다른 글
[Programmers] Lv2_카펫 (JAVA) (0) | 2022.01.05 |
---|---|
[Programmers] Lv2_주식가격 (JAVA) (0) | 2022.01.04 |
[Programmers] Lv2_구명보트 (JAVA) (0) | 2022.01.02 |
[Programmers] Lv2_전화번호 목록 (JAVA) (0) | 2022.01.01 |
[Programmers] Lv2_방문 길이 (JAVA) (0) | 2021.12.31 |
댓글
공지사항
최근에 올라온 글
TAG
- c언어 기출문제
- COSPRO 2급
- 배열
- Java
- C++
- 1급
- Cos Pro
- 코딩테스트
- 배열활용문제
- programmers
- YBM
- YBM기출
- cospro기출
- CosPro
- c언어
- C
- cospro기출문제
- lv2
- groom
- 구름 기출문제
- 알고리즘
- lv1
- 구름에듀
- 자바
- 프로그래머스
- 연습문제
- 구름에듀 기출문제
- 기출문제
- groomedu
- 코스프로
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함