반응형
특이한 정렬
import java.util.Arrays;
class Solution {
public static int[] solution(int[] numlist, Integer n) {
for (int i = 0; i < numlist.length - 1; i++) {
int secIdx = i;
for (int j = i + 1; j < numlist.length; j++) {
int curDiff = Math.abs(n - numlist[secIdx]);
int nextDiff = Math.abs(n - numlist[j]);
// 거리 기준 우선
if (nextDiff < curDiff) {
secIdx = j;
}
// 거리가 같다면 더 큰 숫자 우선
else if (nextDiff == curDiff && numlist[j] > numlist[secIdx]) {
secIdx = j;
}
}
// 자리 바꾸기
int temp = numlist[secIdx];
numlist[secIdx] = numlist[i];
numlist[i] = temp;
}
return numlist;
}
}
등수 매기기
import java.util.*;
class Solution {
public int[] solution(int[][] score) {
int[] answer = new int[score.length];
for(int i = 0; i < score.length; i++){
score[i][0] = (score[i][0] + score[i][1]) * 10 / 2;
score[i][1] = i + 1;
}
Arrays.sort(score, new Comparator<int[]>(){
@Override
public int compare(int[]o1, int[]o2){
return o2[0] - o1[0];
}
});
int rank = 1;
for(int i = 0; i < score.length; i++){
answer[score[i][1]-1] = rank;
int tmpRank = 0;
while(i+1 < score.length && score[i][0] == score[i+1][0]){
answer[score[++i][1]-1] = rank;
tmpRank++;
}
rank += tmpRank + 1;
}
return answer;
}
}
옹알이 (1)
class Solution {
public int solution(String[] babbling) {
int answer = 0;
String[] speak = new String[]{"aya","ye","woo","ma"};
for(String s : babbling){
String bab = s;
for(String sp : speak){
bab = bab.replace(sp," ");
if(bab.trim().isEmpty()){
answer++;
break;
}
}
}
return answer;
}
}
로그인 성공?
class Solution {
public String solution(String[] id_pw, String[][] db) {
String answer = "";
for(String sarr[] : db){
if(sarr[0].equals(id_pw[0])){
if(sarr[1].equals(id_pw[1])){
return "login";
}
return "wrong pw";
}
}
return "fail";
}
}
728x90
반응형
'CodingTest' 카테고리의 다른 글
코딩테스트 입문 - Day 25 (0) | 2025.05.17 |
---|---|
코딩테스트 입문 - Day 24 (0) | 2025.05.11 |
코딩테스트 입문 - Day 22 (0) | 2025.05.11 |
유클리드 호제법 - 최대공약수, 유한소수 판별하기 (0) | 2025.05.06 |
코딩테스트 입문 - Day 21 (0) | 2025.05.05 |