
🧫 문제 분석
✔️ 출처
https://school.programmers.co.kr/learn/courses/30/lessons/120844
📖 문제

매개변수 direction에 따라 왼쪽 , 오른쪽으로 배열순서가 밀린다.
🔅 문제풀이
내가 푼 방식
- switch 문 : direction에 맞게 로직 실행
- for문 사용
- right : i+1번째에 i번 초기화 하는 식
class Solution {
public int[] solution(int[] numbers, String direction) {
int[] answer = new int[numbers.length];
switch(direction) {
case "right" :
for(int i = 0; i < numbers.length; i++) {
if(i+1 == numbers.length) {
answer[0] = numbers[i];
}else{
answer[i+1] = numbers[i];
}
}
break;
case "left" :
for(int i = 0; i < numbers.length; i++) {
if(i+1 == numbers.length) {
answer[i] = numbers[0];
}else{
answer[i] = numbers[i+1];
}
}
break;
}
return answer;
}
}
❗ 오답노트 / 필요한 지식
- switch문을 사용하면서 break;을 사용하지 않아 계속 틀렸다. 명심할 것
- 풀긴 했지만 너무 원시적으로 풀었다랄까 맘에 안든다.
- 푸는 방식이 너무 한정적이다. collection 공부가 필요
- List를 잘 활용해 보자
ArrayList.add(int index, E e)
- 사용시 원래 index안의 값이 사라지지 않고뒤로 밀린다.
remove(int index)
사용시 해당 인덱스안의 값을 삭제하고 배열을 앞칸으로 땡김
Ex)
ㅁ ㅁ ㅁ
0 1 2
1삭제
ㅁ ㅁ
0 1
'programmers' 카테고리의 다른 글
조이스틱 [자바] (1) | 2025.02.14 |
---|---|
프로그래머스 Lv0 캐릭터의 좌표 (0) | 2024.06.26 |
프로그래머스Lv 0 로그인 성공? (0) | 2024.06.26 |