programmers Day23

Hwani·2024년 5월 30일

프로그래머스 DAY 1~25

목록 보기
23/51
post-thumbnail

문제 - 특이한 정렬

풀이

import java.util.*;

class Solution {
    public int[] solution(int[] numlist, int n) {
        int[] answer = new int[numlist.length];
        double[] order = new double[numlist.length];
        
        for(int i = 0; i < numlist.length; i++) {
            if(numlist[i] - n < 0) 
            // n을 뺏을 때 음수 값인 경우, +0.5를 해서 같은 거리에 있는 양수 값보다 정렬을 했을 시 뒤로 밀리도록 함 
                order[i] = ((int)Math.abs(numlist[i] - n)) + 0.5;
            else 
                order[i] = numlist[i] - n; 
        }
        
        Arrays.sort(order); // 오름차순 정렬
        
        for(int i = 0; i < numlist.length; i++) {
            if(order[i] % 1 != 0) answer[i] = n - (int)order[i];
            else answer[i] = (int)order[i] + n;
        }
        
        return answer;
    }
}

설명

문제 - 등수 매기기

풀이

class Solution {
    public int[] solution(int[][] score) {
        float[] average = new float[score.length];
        for(int i = 0; i < score.length; i++) {
            average[i] = (float)((score[i][0] + score[i][1]) / 2.0);
        }
        
        int[] answer = new int[score.length];
        for(int j = 0; j < score.length; j++) {
            int order = 1;
            for(int k = 0; k < score.length; k++) {
                if(average[j] < average[k]) order++;
                answer[j] = order;
            }
        }
        
        return answer;
    }
}

설명

문제 - 옹알이 (1)

풀이

class Solution {
    public int solution(String[] babbling) {
        int answer = 0;
        String[] check= {"aya", "ye", "woo", "ma"};
        
        for(String b : babbling) {                  //babbling 에 있는 String 을 하나씩 꺼내옴
            for(String c : check) {                 //check 에 있는 String 을 하나씩 꺼내옴
                b=b.replace(c, " ");                //b 에 c 가 있으면 일단 전부 공백으로 변경(나머지를 구분 하기위해)
            }
            if(b.replaceAll(" ", "").equals("")) {  //공백처리한 b 에 있는 공백을 없에고 남은게 아무것도 없으면
                answer++;                           //answer에 카운트+1
            }
        }
        return answer;
    }
}

설명

문제 - 로그인 성공?

풀이

import java.util.*;
class Solution {
    public String solution(String[] id_pw, String[][] db) {
        for(int i = 0; i<db.length; i++) {
            if(id_pw[0].equals(db[i][0])) {
                if(id_pw[1].equals(db[i][1])) {
                    return "login";
                } else {
                    return "wrong pw";
                }
            }
        }
        return "fail";
    }
}

설명

profile
개발자될거야

0개의 댓글