궁금한게 많은 코린이의 Developer 노트
[프로그래머스] 카운트 업 본문
나의 문제풀이
class Solution {
public int[] solution(int start_num, int end_num) {
int[] answer = new int[(end_num-start_num)+1];
for(int i = start_num; i <= end_num; i++){
answer[i - start_num] = i;
}
return answer;
}
}
초반에는 ArrayList로 만들어서 반복문으로 add 메서드로 값을 하나씩 삽입하는 방법을 생각했었지만
생각해보니 고정된 배열 값으로도 문제를 풀 수 있을 것 같아서 방안을 변경해서 진행했다.
ArrayIndexOutOfBoundsException
for문에 i = start_num이라고 설정해주었다면,
answer[i] 부분도 똑같이 start_num 값으로 적용되므로
answer 배열은 start_num(ex. " start_num = 3" 이라고 가정)부터 시작한다.
즉 0,1,2 부분은 모두 "0"으로 채워져 있기 상태에서 index 3부터 반복문이 적용된다.
[0,0,0,3,4,5,6,7,8,9,10] ---> 기존의 고정된 배열 값을 초과하게 된다.
answer[i - start_num] 으로 설정해주어야 answer 배열의 처음부터 차례대로 값이 들어가게 된다.
'코딩테스트' 카테고리의 다른 글
[프로그래머스] 배열 만들기 2 (2) | 2025.03.13 |
---|---|
[프로그래머스] 저주의 숫자 3 (0) | 2025.03.11 |
[코딩테스트] 수열과 구간 쿼리 4 (0) | 2025.02.28 |
[코딩테스트] 프로그래머스 코드 처리하기 (0) | 2025.02.24 |
[코딩 테스트] 수열과 구간 쿼리 2 (0) | 2025.02.19 |