https://school.programmers.co.kr/learn/courses/30/lessons/120844
이번 문제도 단순하게 풀었다.
if문에 문자열 direction이 right 일 때와 left일 때를 구분했고,
right 일 때 배열은 0번째 자리부터 시작이기 때문에 int배열 numbers의 길이의 -1만큼 반복문을 작성할 것이다.
answer[i+1] 즉 answer[1] 부터 숫자가 담기기 시작 할 텐데 오른쪽으로 한 칸씩 이동해야 하기 때문에 배열 numbers[0] 번째 숫자가 담기면 된다.
그 후 반복문 밖에 answer[0]에는 배열 numbers의 마지막 숫자가 들어가면 되기 때문에 [number.length-1]을해서 마지막 자릿수의 숫자를 담아준다.
이와 반대로 left도 작성해주면 된다.
class Solution {
public int[] solution(int[] numbers, String direction) {
int[] answer = new int [numbers.length];
if(direction.equals("right")){
for(int i= 0; i<numbers.length-1; i++){
answer[i+1] = numbers[i];
}
answer[0] = numbers[numbers.length-1];
}else if(direction.equals("left")){
for(int j= 0; j<numbers.length-1; j++){
answer[j] = numbers[j+1];
}
answer[answer.length-1] = numbers[0];
}
return answer;
}
}
댓글