728x90
[문제 설명]
정수 리스트 num_list와 정수 n이 주어질 때, num_list의 첫 번째 원소부터 n 번째 원소까지의 모든 원소를 담은 리스트를 return하도록 solution 함수를 완성해주세요.
[입출력 예]
num_list | n | result |
[2, 1, 6] | 1 | [2] |
[5, 2, 1, 7, 5] | 3 | [5, 2, 1] |
[차근 차근 생각해보기]
- answer의 배열의 길이를 n까지로 정해준다.
- n의 길이까지 돌면서
- answer 배열에 num_list의 i번째 요소를 넣어준다.
[결과]
<수정 전>
class Solution {
public int[] solution(int[] num_list, int n) {
int[] answer = new int[n];
for(int i = 0; i < num_list.length; i++){
if(i < n){
answer[i] = num_list[i];
}
}
return answer;
}
}
<수정 후>
class Solution {
public int[] solution(int[] num_list, int n) {
int[] answer = new int[n];
for(int i = 0; i < n; i++){
answer[i] = num_list[i];
}
return answer;
}
}
[반성할 점]
<수정 전>
- answer 배열을 n만큼 정해주어야 n의 길이 만큼 배열에 요소가 담길 것이라고 생각하지 못했다.
- i가 n보다 작은 것은 배열의 인덱스는 0부터 시작하니까 i가 n보다 작아야 한다.
- i번째 요소를 answer의 i번째에 담아주면 n번째 원소까지 값이 들어갈 것이다.
<수정 후>
- 수정 전 코드는 불필요한 코드가 있었다.
- num_list의 첫번째 원소부터 n번째 원소까지 넣는 것이기 때문에
- n번째까지 돌면서 num_list의 i번째를 answer의 i번째에 넣어주고
- answer를 리턴해주면 되는 것인데 굳이 조건문을 사용하여 불필요한 코드를 작성했었다.
- 조건을 잘 생각하며 차근 차근 풀기..!
728x90
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] - n개 간격의 원소들 (1) | 2023.06.11 |
---|---|
[프로그래머스] - 문자열의 뒤의 n글자 (2) | 2023.06.11 |
[프로그래머스] - 정수 찾기 (0) | 2023.06.10 |
[프로그래머스] - 문자열 정수의 합 (0) | 2023.06.08 |
[프로그래머스] - 첫 번째로 나오는 음수 (0) | 2023.06.08 |