-
[programmers] 큰 수 만들기Algorithm/java tip 2021. 3. 6. 16:21
programmers.co.kr/learn/courses/30/lessons/42883
class Solution { public String solution(String number, int k) { int resultLen = number.length() - k; // 결과 길이 StringBuilder result = new StringBuilder(); int maxi = -1; for(int i=0; i<resultLen; i++) { // i번째 숫자 선택 int max = -1; // j = i번째 숫자 선택 가능한 범위 // max = 이전에 선택했던 숫자 // maxi = 이전에 선택했던 숫자 인덱스 // 앞으로 더 선택해야할 숫자 : resultLen - 선택한 숫자 // 4개 중에 2번쨰 선택할 숫자 범위 // 결과 길이 // number.length() - resultLen + i for(int j = maxi + 1; j < k + result.length() + 1; j++) { int val = (number.charAt(j) - '0'); if(val > max) { max = val; maxi = j; } } result.append(number.charAt(maxi)); } return result.toString(); } }
'Algorithm > java tip' 카테고리의 다른 글
559. Maximum Depth of N-ary Tree (0) 2021.03.06 [programmers] 가장 먼 노드 (0) 2021.03.06 [programmers] 체육복 (0) 2021.03.06 [programmers] 이중 우선순위 큐 (0) 2021.03.06 [programmers] 더 맵게(heap) (0) 2021.03.06