-
[Java 자바] 프로그래머스 Lv 0 - 배열 회전시키기Study/Java 2024. 10. 27. 17:16728x90반응형
목차
1. 문제 설명
728x90문제 설명
정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어집니다.
배열 numbers의 원소를 direction방향으로 한 칸씩 회전시킨 배열을 return하도록 solution 함수를 완성해주세요.제한사항
- 3 ≤ numbers의 길이 ≤ 20
- direction은 "left" 와 "right" 둘 중 하나입니다.
2. 입출력 예시
입출력 예시
#1
numbers 가 [1, 2, 3]이고 direction이 "right" 이므로 오른쪽으로 한 칸씩 회전시킨 [3, 1, 2]를 return합니다.
#2
numbers 가 [4, 455, 6, 4, -1, 45, 6]이고 direction이 "left" 이므로 왼쪽으로 한 칸씩 회전시킨 [455, 6, 4, -1, 45, 6, 4]를 return합니다.
3. 문제 풀이
반응형문제 풀이
1. answer의 배열 길이를 numbers의 배열길이와 같게 정한다.
2. 조건문을 통해서 direction의 문자가 right인지 확인한다.
3. 맞다면, 반복문을 통해서 numbers의 길이만큼 반복하며, numbers를 오른쪽으로 한 칸 씩 이동하여, answer의 각 원소에 넣는다.
4. 아니라면, 반복문을 통해서 numbers의 길이만큼 반복하며, numbers를 왼쪽으로 한 칸 씩 이동하여, answer의 각 원소에 넣는다.
class Solution { public int[] solution(int[] numbers, String direction) { int[] answer = new int [numbers.length]; if(direction.equals("right")){ // 문자열은 == 대신 equals() 사용해야 함. for(int i=0; i<numbers.length; i++){ answer[i] = numbers[(numbers.length+i-1)%numbers.length]; } // 오른쪽으로 한 칸 씩 이동한다. } else { for(int i=0; i<numbers.length; i++){ answer[i] = numbers[(i+1)%numbers.length]; } // 왼쪽으로 한 칸씩 이동한다. } return answer; } }
메모
문자열은 같은 값을 비교할 때 == 대신 equals()를 사용해야 한다.
728x90반응형'Study > Java' 카테고리의 다른 글
[Java 자바] 프로그래머스 Lv 0 - 합성수 찾기 (0) 2024.10.28 [Java 자바] 프로그래머스 Lv 0 - 주사위의 개수 (0) 2024.10.28 [Java 자바] 프로그래머스 Lv 0 - 공 던지기 (2) 2024.10.27 [Java 자바] 프로그래머스 Lv 0 - 2차원으로 만들기 (1) 2024.10.26 [Java 자바] 프로그래머스 Lv 0 - 점의 위치 구하기 (0) 2024.10.26