프로그래머스/LEVEL 2

큰 수 만들기

GenieLove! 2021. 4. 14. 22:13
728x90
반응형

Java

import java.util.*;
class Solution {
    char[] numberArr;
    int start;
    int end;
    public String solution(String number, int k) {
        String answer = "";
        numberArr = number.toCharArray();
        start = 0;
        int remainCount = numberArr.length - k;
        while(answer.length() < numberArr.length - k){
        	end = numberArr.length - remainCount;
            answer += number();
            remainCount--;
        }
        
        return answer;
    }
    private int number(){
        int max = 0;
        int endLength = end;
        for(int i = start; i <= endLength; i++){
            if(max == 9)
                break;
            if(max < numberArr[i] - '0'){
                max = numberArr[i] - '0';
                start = i + 1;
                
            }
        }
        return max;
    }
}

Python

def solution(number, k):
    answer = ''
    start = 0
    end = 0
    numberArr = [int(i) for i in number]
    remainCount = len(number) - k
    while(len(answer) < len(number) - k):
        end = len(number) - remainCount
        maxNum = -1
        for i in range(start, end + 1, 1):
            if maxNum == 9:
                break
            if maxNum < numberArr[i]:
                maxNum = numberArr[i]
                start = i + 1
        answer += str(maxNum)
        remainCount -= 1
    
    return answer
728x90
반응형

'프로그래머스 > LEVEL 2' 카테고리의 다른 글

전화번호 목록  (0) 2021.04.17
조이스틱  (0) 2021.04.14
더 맵게  (0) 2021.04.11
괄호 변환  (0) 2021.04.11
메뉴 리뉴얼  (0) 2021.04.08