1.

수박수박수박수?

코드

class Solution {
    public String solution(int n) {
        String answer = "";
        
        for(int i=1;i <= n; i++){
            if(i%2 == 1 ){
                answer += "수";
            }
            else{
                answer += "박";
            }
        }
        return answer;
    }
}

홀수번째 글자들은 모두 "수"

짝수번째 글자들은 모두 "박"

입력받은 n까지 반복문을 돌면서 수,박을 answer에 삽입하면 해결가능

비효율적이다.

string builder 사용 해보기

2.

완주하지 못한 선수

import java.util.Arrays;

class Solution {
    public String solution(String[] participant, String[] completion) {
       String answer = "";

        Arrays.sort(participant);
        Arrays.sort(completion);

        for(int i=0; i<participant.length; i++) {
            if(i == completion.length) {
                answer = participant[i];
                break;
            }
            if(!participant[i].equals(completion[i])) {
                answer = participant[i];
                break;
            }
        }

        return answer;
    }
}

 

3.

2016

class Solution {
    public String solution(int a, int b) {
       
        String[] days = {"FRI","SAT","SUN","MON","TUE","WED","THU"};
        int[] months = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
        
        int sumDate = 0;
        
        for(int i=0; i<a-1; i++){
            sumDate += months[i];
        }
        sumDate += b -1;
        
        
        
        return days[sumDate % 7];
    }
}

 

 

4.

나누어 떨어지는 숫자 배열

import java.util.Arrays;
class Solution {
    public int[] solution(int[] arr, int divisor) {
        int cnt=0;
        for(int i=0; i<arr.length; i++){
            if(arr[i]%divisor==0) cnt++;
        }

        if(cnt==0){
            int[] answer={-1};
            return answer;
        }
        int[] answer=new int[cnt];
        for(int i=0,j=0; i<arr.length; i++){
            if(arr[i]%divisor==0) answer[j++]=arr[i];
        }

        Arrays.sort(answer);
        return answer;
    }
}

'알고리즘문제 > Programmers' 카테고리의 다른 글

[프로그래머스] 2016  (0) 2022.07.23

+ Recent posts