- 내 풀이
import java.util.Arrays;
class Solution {
public int[] solution(int[] numbers, String direction) {
int[] answer = {};
answer = new int[numbers.length];
if(direction.equals("right")) {
answer[0] = numbers[numbers.length - 1];
for (int i = 0; i < numbers.length - 1; i++) {
answer[i + 1] = numbers[i];
}
} else if (direction.equals("left")) {
answer[numbers.length -1] = numbers[0];
for (int i = 1; i < numbers.length; i++) {
answer[i-1] = numbers[i];
}
}
return answer;
}
}
direction 값에 따라서 for문이 시작전 해당 값을 넣고 for문이 동작
- 다른 사람 풀이(stream , for문)
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
class Solution {
public int[] solution(int[] numbers, String direction) {
List<Integer> list = Arrays.stream(numbers).boxed().collect(Collectors.toList());
if (direction.equals("right")) {
list.add(0, list.get(list.size() - 1));
list.remove(list.size() - 1);
} else {
list.add(list.size(), list.get(0));
list.remove(0);
}
return list.stream().mapToInt(Integer::intValue).toArray();
}
}
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 < numbers.length-1){
answer[i+1] = numbers[i];
}else{
answer[0] = numbers[i];
}
}else{
if(i == 0){
answer[numbers.length-1] = numbers[0];
}else{
answer[i-1] = numbers[i];
}
}
}
return answer;
}
}
stream 코드를 제외하고는 대부분의 코드들이 비슷비슷하다.
'프로그래머스 > [프로그래머스 - JAVA] Lv.0' 카테고리의 다른 글
[프로그래머스 - JAVA] 외계행성의 나이 (0) | 2023.03.10 |
---|---|
[프로그래머스 - JAVA] 가장 큰 수 찾기 (0) | 2023.03.10 |
[프로그래머스 - JAVA] 인덱스 바꾸기 (0) | 2023.03.10 |
[프로그래머스 - JAVA] 최댓값 만들기(2) (0) | 2023.03.10 |
[프로그래머스 - JAVA] 직각삼각형 출력하기 (0) | 2023.03.10 |
댓글