🗣️ 메모
분명히 reverse 어쩌고 메소드가 있었는데 기억이 안 남
for문을 돌리려니 2중 포문이 돼 버리고 한 번에 2가지의 변수를 두어 돌릴 수는 없을까?
하다가 결국 구글의 힘을 빌렸고 또 까먹지 않기 위해서 정리해 둠
아!
그리고 프로그래머스에서 import 구문을 자동으로 인식해 주지 않으므로 직접 기재해야 함
다들 이걸로 퉁치는 것 같은 분위기이긴 한데 나중에... 먼 훗날에 고오급 문제를 풀다 보면 효율이 떨어질 수도,,,
import java.util.*
1) 하나의 for문에 두 가지 변수 넣기
2) for문 변수 1개로 배열 뒤집기
2) Collections.reverse 메소드
✏️ [배열 뒤집기]
문제 설명
정수가 들어 있는 배열 num_list가 매개변수로 주어집니다. num_list의 원소의 순서를 거꾸로 뒤집은 배열을 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ num_list의 길이 ≤ 1,000
- 0 ≤ num_list의 원소 ≤ 1,000
입출력 예
num_list | result |
[1, 2, 3, 4, 5] | [5, 4, 3, 2, 1] |
[1, 1, 1, 1, 1, 2] | [2, 1, 1, 1, 1, 1] |
[1, 0, 1, 1, 1, 3, 5] | [5, 3, 1, 1, 1, 0, 1] |
입출력 예 설명
입출력 예 #1
- num_list가 [1, 2, 3, 4, 5]이므로 순서를 거꾸로 뒤집은 배열 [5, 4, 3, 2, 1]을 return합니다.
입출력 예 #2
- num_list가 [1, 1, 1, 1, 1, 2]이므로 순서를 거꾸로 뒤집은 배열 [2, 1, 1, 1, 1, 1]을 return합니다.
입출력 예 #3
- num_list가 [1, 0, 1, 1, 1, 3, 5]이므로 순서를 거꾸로 뒤집은 배열 [5, 3, 1, 1, 1, 0, 1]을 return합니다.
🔥 TRY #1
👉🏻 포문을 돌리는 것까지는 ㅇㅋ
👉🏻 기존 배열은 거꾸로, 새로운 배열에는 차례대로 '하나씩' 넣어 줘야 하는데 하나의 i당 모든 j를 검토하는 이중 포문은 어울리지 않음
🔥 TRY #2
🎉 [실행 결과] 하나의 for문에 두 가지 변수 넣기
👉🏻 하나의 for문에 변수 2개를 넣는 방법은 쉬웠다!
👉🏻 기존 for문의 문법인 초기식;조건식;증감식 에 원하는 변수를 콤마(,)로 구분하여 넣으면 끝
import java.util.Arrays;
class Solution {
public int[] solution(int[] num_list) {
int[] answer = new int[num_list.length];
for(int i = num_list.length-1, j = 0; i >= 0; i--, j++) {
answer[j] = num_list[i];
}
return answer;
}
}
🔥 TRY #3
🎊 [실행 결과] for문 변수 1개로 배열 뒤집기
👉🏻 for문에 하나의 변수를 사용해도 가능함
import java.util.Arrays;
class Solution {
public int[] solution(int[] num_list) {
int[] answer = new int[num_list.length];
for(int i = 0; i < num_list.length; i++) {
answer[num_list.length - 1 - i] = num_list[i];
}
return answer;
}
}
🔥 TRY #4
💫 [실행 결과] Collection.reverse() 메소드
👉🏻 Collections.reverse() 메소드 : 인자로 전달된 리스트의 요소 순서를 뒤집는 메소드
1) Integer[] arr = { 1, 2, 3, 4, 5 };
배열이 존재함
2) List<Integer> list = Arrays.asList(arr);
배열을 리스트로 변환함
이때 자료형은 Wrapper 타입으로 int가 아닌 Integer로 기재해야 함을 주의할 것!
3) Collections.reverse(list);
리스트를 뒤집음(순서 변환)
4) Integer[] reverseArr = list.toArray(arr);
순서를 뒤집은 리스트를 다시 배열로 변환하여 넣어 줌
출처: 프로그래머스 코딩 테스트 연습,https://school.programmers.co.kr/learn/challenges
코딩테스트 연습 | 프로그래머스 스쿨
개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!
school.programmers.co.kr