https://programmers.co.kr/learn/courses/30/lessons/42748
코딩테스트 연습 - K번째수
[1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3]
programmers.co.kr
int[][] a -> a.length : a의 길이
Arrays.copyOfRange(array,start,end) : array 배열의 start부터 end인덱스 전까지 복사
Arrays.sort(array) : array 오름차순 정렬
Arrays.sort(array,start,end) : 배열의 start부터 end전까지만 오름차순 정렬
Arrays.sort(array,Collections.reverseOrder()) : String배열 내림차순 정렬. Integer배열도 가능 (단 int배열 불가능)
import java.util.*;
class Solution {
public int[] solution(int[] array, int[][] commands) {
int[] answer = new int [commands.length];
//Arrays.copyOfRange(array, start, 끝인덱스 (포함x));
for(int i=0; i<commands.length; i++){
int[] tmp = Arrays.copyOfRange(array,commands[i][0]-1,commands[i][1]);
Arrays.sort(tmp);
answer[i]=tmp[commands[i][2]-1];
}
return answer;
}
}
https://programmers.co.kr/learn/courses/30/lessons/42746
코딩테스트 연습 - 가장 큰 수
0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰
programmers.co.kr
String.valueOf(a) : int형 a를 String으로 변환 (55 -> "55")
Arrays.sort(result,(s1,s2)->(s2+s1).compareTo(s1+s2)) : s2+s1가 s1+s2보다 더 크면 자리바꿈
import java.util.*;
class Solution {
public String solution(int[] numbers) {
String answer = "";
String[] result = new String[numbers.length];
for(int i=0; i<numbers.length; i++){
result[i]=String.valueOf(numbers[i]);
}
Arrays.sort(result,(s1,s2)->(s2+s1).compareTo(s1+s2));
//(b+a).compareTo(a+b) 을 했을 경우 'b+a'가 더 크다면 자리를 바꿈
if(result[0].equals("0")) return "0";
for(String s : result){
answer+=s;
}
return answer;
}
}
https://programmers.co.kr/learn/courses/30/lessons/42747
코딩테스트 연습 - H-Index
H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표
programmers.co.kr
import java.util.*;
class Solution {
public int solution(int[] citations) {
int size = citations.length;
Arrays.sort(citations);
//6 5 3 1 0
for(int i=0; i<size; i++){
if(citations[i]>=size-i) return size-i;
}
return 0;
}
}
'Algorithm > 구현' 카테고리의 다른 글
[백준] 14502번 : 연구소 (삼성 SW 역량 테스트) (0) | 2021.11.02 |
---|---|
[백준] 2671번 : 잠수함식별 (C++) (0) | 2021.09.25 |
[백준] 2003번 : 수들의 합 2 (C++) (0) | 2021.09.22 |
[백준] 11005번 : 진법 변환 2 (C++, JAVA) (0) | 2021.09.21 |
[백준] 17837번 : 새로운 게임 2 (C++) (삼성 SW 역량테스트) (0) | 2021.09.19 |
댓글