코딩테스트

프로그래머스 코딩테스트(뒤에서 5등까지, 배열 회전시키기, 외계행성의 나이)

SOME코딩 2023. 5. 6. 22:57

<뒤에서 5등까지>

문제 설명
정수로 이루어진 리스트 num_list가 주어집니다. num_list에서 가장 작은 5개의 수를 오름차순으로 담은 리스트를 return하도록 solution 함수를 완성해주세요.

 

풀이

import java.util.Arrays;
class Solution {
    public int[] solution(int[] num_list) {
        Arrays.sort(num_list);
        int[] answer = Arrays.copyOf(num_list,5);
        return answer;
    }
}

 

<배열 회전시키기>

문제 설명
정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어집니다. 배열 numbers의 원소를 direction방향으로 한 칸씩 회전시킨 배열을 return하도록 solution 함수를 완성해주세요.

 

풀이

class Solution {
    public int[] solution(int[] numbers, String direction) {
        int[] answer = new int[numbers.length];
        for(int i=0;i<numbers.length;i++){
            if(direction.equals("right")){
                if(i==0){
                    answer[i] = numbers[numbers.length-1];
                } else {
                    answer[i] = numbers[i-1];
                }
            } else {
                if(i==numbers.length-1){
                    answer[i] = numbers[0];
                } else {
                    answer[i] = numbers[i+1];
                }
            }
        }
        return answer;
    }
}

 

<외계행성의 나이>

문제 설명
우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2, ..., j는 9입니다. 예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이 age가 매개변수로 주어질 때 PROGRAMMER-962식 나이를 return하도록 solution 함수를 완성해주세요.

 

풀이

class Solution {
    public String solution(int age) {
        String str = age+"";
        String answer = "";
        for(int i=0;i<str.length();i++){
            answer += (char)(str.charAt(i)+49);
        }
        return answer;
    }
}