짝수는 싫어요
문제 #
정수 n
이 매개변수로 주어질 때, n
이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요.
-
제한사항
-
입출력 예
나의 풀이 #
import java.util.Arrays;
class Solution {
public int[] solution(int n) {
int[] odd = new int[101]; //n이 1~100일때 홀수는 50개
int j = 0;
// 홀수일 경우 odd배열에 추가
for (int i=0; i<=n; i++){
if(i%2 != 0) {
odd[j]=i;
j++;
}
}
// 배열의 크기를 변경할 수 없으므로 copy이용
int[] answer = Arrays.copyOf(odd,j);
return answer;
}
}
다른 사람의 풀이 #
import java.util.List;
import java.util.ArrayList;
class Solution {
public int[] solution(int n) {
List<Integer> oddList = new ArrayList<>();
for(int i = 1; i<=n; i++) {
if(i % 2 != 0){
oddList.add(i);
}
}
// int 배열은 toArray를 쓸 수 없기 때문에 반복문을 이용
// stream을 이용 할 수도 있다.
int[] answer = new int[oddList.size()];
for(int i = 0; i<oddList.size(); i++) {
answer[i] = oddList.get(i);
}
return answer;
}
}
for문을 쓰면 list사이즈가 커짐에 따라 시간이 0.0n초 더 걸리지만 메모리를 더 적게 사용한다.
관련개념 학습 #
- 관련 개념을 찾아서 공부한 내용을 적는다.
ctrl + p
로 내가 필기한 내용 중에서 관련내용이 있는지 찾아서 그 페이지의 링크를 복사하여 붙혀넣는다.- 필기 페이지에도 이 문제의 링크를 복사하여 “관련 문제"라고 써놓고 붙혀넣는다.