IT/Programmers
[Programmers/코딩테스트 연습] 짝수는 싫어요 Java (arraylist 동적 배열)
안선생 Dr.Ahn
2022. 11. 27. 15:32
728x90
반응형
짝수는 싫어요 Java
너무 마구잡이 식으로 작성한 코드라 부끄럽다...
class Solution {
public int[] solution(int n) {
int siz = 0;
if (n%2 == 0) {
siz = ((int)n/2);
} else {
siz = ((int)n/2) +1;
}
int[] answer = new int[siz];
int ind = 0;
for (int i = 0; i < n; i ++) {
if((i+1)%2 == 1) {
answer[ind++] = i + 1;
}
}
return answer;
}
}
java는 빈 배열에 계속 추가할 수가 없다고 해서 난감했다.
강제로 사이즈를 지정해야 하는데, 또 뒤에 비어있는 공간이 0으로 자동 초기화돼서 ㅠ
//홍희표 님 예제
import java.util.stream.IntStream;
class Solution {
public int[] solution(int n) {
return IntStream.rangeClosed(0, n).filter(value -> value % 2 == 1).toArray();
}
}
.................하나씩 공부해봐야겠다.
대부분
List<Integer> answer = new ArrayList<>();
//요소 추가는 answer.add();
int[]로 선언되어 있는 answer을 ArrayList로 변환해서 사용했다.
Array랑 List랑 무슨 차이인지 모르겠다. 역시 공부가 필요하다..
+
ArrayList는 동적 배열이다!
import java.util.ArrayLIst; //import
ArrayList<int> arr = new ArrayList<>(); //선언
/*
new ArrayList<>() <- 이 괄호 안에 숫자 : 크기, list : 복사
*/
728x90
반응형