JAVA/Programmers
JAVA 프로그래머스 [짝수는 싫어요] 자바 Lv.0
tripleup
2023. 5. 24. 09:00
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
반응형