프로그래머스 코딩테스트(뒤에서 5등까지, 배열 회전시키기, 외계행성의 나이)
<뒤에서 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;
}
}