728x90
반응형
[프로그래머스] 코딩테스트 연습 -> 코딩테스트 입문 -> 짝수는 싫어요
https://school.programmers.co.kr/learn/courses/30/lessons/120813
해결 과정
if (n % 2 == 0) {
int[] arr = new int[n/2];
} else {
int[] arr = new int[n/2+1];
}
이렇게 하면 런타임 오류가 발생한다.
하지만 다음과 같이 실행하면 오류가 발생하지 않는다
int[] arr;
if (n % 2 == 0) {
arr = new int[n/2];
} else {
arr = new int[n/2+1];
}
이유는 무엇일까? 암튼 그렇게 배열 arr의 길이를 정해준 후,
인덱스를 위해 int k = 0 초기화해주고
반복문을 돌면서 홀수가 되는 조건에 만족하면,
arr[k]에 넣어주면서 k++해주면 인덱스를 하나씩 크게 해주면 된다.
소스 코드
class Solution {
public int[] solution(int n) {
int[] arr;
if (n % 2 == 0) {
arr = new int[n/2];
} else {
arr = new int[n/2+1];
}
int k = 0;
for (int i = 0; i<=n; i++) {
if (i % 2 == 1) {
arr[k] = i;
k++;
}
}
return arr;
}
}
728x90
반응형
'JAVA > Programmers' 카테고리의 다른 글
JAVA 프로그래머스 [최빈값 구하기] 자바 Lv.0 (0) | 2023.05.24 |
---|---|
JAVA 프로그래머스 [중앙값 구하기] 자바 Lv.0 (0) | 2023.05.24 |
JAVA 프로그래머스 [숫자 비교하기] 자바 Lv.0 (0) | 2023.05.23 |
JAVA 프로그래머스 [배열 두 배 만들기] 자바 Lv.0 (0) | 2023.05.23 |
JAVA 프로그래머스 [분수의 덧셈] 자바 Lv.0 (0) | 2023.05.23 |
댓글