프로그래머스 정렬

sua·2023년 2월 18일
0

문제


풀이

import java.util.*;

class Solution {
    public int[] solution(int[] array, int[][] commands) {
        int[] answer = new int[commands.length];
        ArrayList<ArrayList<Integer>> list = new ArrayList<>();
        
        for(int i = 0; i < commands.length; i++) {
            int num1 = commands[i][0];
            int num2 = commands[i][1];
            ArrayList<Integer> temp = new ArrayList<>();
            for(int j = num1 - 1; j < num2; j++) {
                temp.add(array[j]);
                Collections.sort(temp);
            }
            list.add(temp);
        }
        
        for(int i = 0; i < commands.length; i++) {
            answer[i] = list.get(i).get(commands[i][2] - 1);
        }
        
        return answer;
    }
}



문제


풀이

import java.util.*;

class Solution {
    public String solution(int[] numbers) {
        String answer = "";
        String[] str = new String[numbers.length];
        
        for(int i = 0; i < numbers.length; i++){
            str[i] = String.valueOf(numbers[i]);
        }     
        
        //내림차순 정렬
        Arrays.sort(str, new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                return (o2 + o1).compareTo(o1 + o2);
            }
        });
        
        // 답이 000~이 되면 안되기 때문에 첫번째값이 0이면 0을 리턴
        if (str[0].equals("0")) {
            return "0";
        }
        
        for(String s: str) {
            answer += s;
        }
        
        return answer;
    }
}

결과




문제


풀이

import java.util.*;

class Solution {
    public int solution(int[] citations) {
        int answer = 0;
        Arrays.sort(citations);
 
        for(int i = 0; i < citations.length; i++) {
            int h = citations.length - i;
 
            if (citations[i] >= h) {
                answer = h;
                break;
            }
        }
 
        return answer;
    }
}

결과


profile
가보자고

0개의 댓글

관련 채용 정보