728x90
🔗 문제 링크
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
📌 문제 개요
정수 배열 num_list와 정수 n이 주어질 때,
첫 번째 원소부터 n개 간격으로 저장된 원소들만 차례대로 담아 반환하는 문제
📌 접근 방법
배열의 첫 번째 원소부터 시작하여 n씩 증가하면서 순회하면 원하는 원소만 선택할 수 있습니다.
선택한 원소는 ArrayList에 저장한 뒤, 마지막에 int[] 배열로 변환하여 반환
📌 핵심 아이디어
1. n만큼 증가하며 배열 순회
for (int i = 0; i < num_list.length; i += n) {
list.add(num_list[i]);
}
- 반복문의 증감식을 i++가 아닌 i += n으로 작성하여 n칸씩 이동합니다.
- 첫 번째 원소부터 n개 간격의 원소만 선택됩니다.
2. ArrayList를 배열로 변환
int[] answer = new int[list.size()];
for (int i = 0; i < list.size(); i++) {
answer[i] = list.get(i);
}
- 저장된 값을 반환하기 위해 ArrayList<Integer>를 int[] 배열로 변환
📌 전체 코드
import java.util.ArrayList;
class Solution {
public int[] solution(int[] num_list, int n) {
ArrayList<Integer> list = new ArrayList<>();
for (int i = 0; i < num_list.length; i += n) {
list.add(num_list[i]);
}
int[] answer = new int[list.size()];
for (int i = 0; i < list.size(); i++) {
answer[i] = list.get(i);
}
return answer;
}
}
📄 정리
- i += n을 사용하면 n개 간격으로 배열을 순회할 수 있습니다.
- 결과의 크기를 미리 알 수 없을 때는 ArrayList를 활용하면 편리합니다.
- 마지막에는 ArrayList의 값을 int[]로 변환하여 반환합니다.
- 반복문의 증감식을 적절히 활용하면 코드를 간결하게 작성할 수 있습니다.
728x90
'코테(Solved.ac + Programmers)' 카테고리의 다른 글
| 프로그래머스 n번째 원소부터 JAVA 풀이 (Level 0) (0) | 2026.07.15 |
|---|---|
| 프로그래머스 홀짝에 따라 다른 값 반환하기 JAVA 풀이 (조건문, 반복문) (0) | 2026.07.14 |
| 프로그래머스 바탕화면 정리 JAVA 풀이|최소 드래그 영역 구하기 (0) | 2026.07.12 |
| 프로그래머스 홀수 vs 짝수 JAVA 풀이 (StringBuilder 활용, 문자열 이어붙이기) (0) | 2026.07.11 |
| 프로그래머스 삼각형의 완성조건 (1) JAVA 풀이 (0) | 2026.07.10 |