https://school.programmers.co.kr/learn/courses/30/lessons/42748
import java.util.*;
class Solution {
public int[] solution(int[] array, int[][] commands) {
int[] answer = new int[commands.length];
int idx = 0;
for(int[] command : commands){
int[] com = new int[command[1]-command[0] + 1];
for(int i=command[0];i<command[1] + 1;i++){
com[i-command[0]] = array[i-1];
}
Arrays.sort(com);
answer[idx++] = com[command[2]-1];
}
return answer;
}
}
풀이 접근법 :
문제에 맞게 command 배열을 하나씩 꺼내어 정렬 후에 순서에 맞는 값을 Answer 배열에 넣은 후에 출력한다.
https://school.programmers.co.kr/learn/courses/30/lessons/68644
import java.util.*;
class Solution {
public int[] solution(int[] numbers) {
int idx = 0;
Set<Integer> set = new TreeSet<>();
for(int i=0; i<numbers.length; i++){
for(int j=i+1; j<numbers.length;j++){
set.add(numbers[i] + numbers[j]);
}
}
int[] answer = new int[set.size()];
Iterator<Integer> ite = set.iterator();
while(ite.hasNext()) {
answer[idx++] = ite.next();
}
return answer;
}
}
풀이 접근법 : 이중 for문으로 원소들의 합을 Set(중복을 허용하지 않는) 자료구조에 넣은 후에 하나씩 출력한다. 특히 TreeSet은 오름차순 정렬도 포함하고 있어, Iterator에 넣은 후 순서대로 출력할 수 있다.
'Java' 카테고리의 다른 글
JUnit : IntelliJ , 단위 테스트 (0) | 2023.03.29 |
---|---|
[Java] Collection Set 정리하기 (0) | 2023.03.29 |
[알고리즘] 최소 신장 트리(Minimum Spanning Tree) (0) | 2023.03.25 |
[프로그래머스] 03/24 문제 풀기 (0) | 2023.03.24 |
프로그래머스 : 이상한 문자 만들기 (0) | 2023.03.23 |