https://programmers.co.kr/learn/courses/30/lessons/12906
import java.util.*;
public class Solution {
public int[] solution(int []arr) {
//add 사용, 답안 배열의 길이를 모르기 때문에 ArrayList사용
List<Integer> num = new ArrayList<>();
num.add(arr[0]);
//num 배열의 index 선언
int k = 0;
for (int x : arr) {
if(!num.get(k).equals(x)) {
num.add(x);
k++;
}
}
// for (int i = 0; i < arr.length; i++) {
// if(!num.get(k).equals(arr[i])) {
// num.add(arr[i]);
// k++;
// }
// }
//List배열을 int[]로 변환
//int[] answer = num.stream().mapToInt(Integer::intValue).toArray();
int[] answer = new int[num.size()];
for (int i = 0; i < answer.length; i++) {
answer[i] = num.get(i);
}
return answer;
}
}
for each와 for문 모두 작성해보았다.
마지막에 ArrayList를 다시 int[]로 변환할 때 Stream과 for문을 모두 사용해보았는데,
for문이 훨씬 빨랐다.
'Language > JAVA' 카테고리의 다른 글
[프로그래머스] 로또의 최고 순위와 최저 순위 (0) | 2022.01.20 |
---|---|
[프로그래머스] 두 개 뽑아서 더하기 (0) | 2022.01.20 |
#최소값, 최대값 구하기 (0) | 2022.01.19 |
#Stream (0) | 2022.01.19 |
[프로그래머스] 최소직사각형 (0) | 2022.01.19 |