☕Language: Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
import java.util.ArrayList;
import java.util.List;
public class Solution {
public int[] solution(int []arr) {
// 1. 연속된 값에 대해서만 중복 제거: Set, Map X
// 2. 순서 유지
int[] answer = {};
List<Integer> list = new ArrayList<>();
list.add(arr[0]);
for(int i = 1; i<arr.length; i++) {
if(arr[i-1]!=arr[i])
list.add(arr[i]);
}
answer = new int[list.size()];
int j = 0;
for(int i : list){
answer[j++] = i;
}
return answer;
}
}
|
🤔 해설
1. if(arr[i-1]!=arr[i]) list.add(arr[i]);
- 이전 원소와 현재 원소가 같지 않을 경우에만 list에 추가
😮 이 외의 풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
import java.util.ArrayList;
import java.util.List;
public class Solution {
public int[] solution(int []arr) {
List<Integer> list = new ArrayList<Integer>();
int preNum = -1;
for(int num : arr) {
if(preNum != num)
list.add(num);
preNum = num;
}
int[] answer = new int[list.size()];
for(int i=0; i<answer.length; i++) {
answer[i] = list.get(i).intValue();
}
return answer;
}
}
|
1. if(preNum != num)
- preNum을 선언하여 이전 숫자와 비교
2. intValue()
- Integer → int 변환
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import java.util.LinkedList;
public class Solution {
public int[] solution(int []arr) {
LinkedList<Integer> list = new LinkedList<Integer>();
list.add(arr[0]);
for(int i=1; i<arr.length; i++){
if(arr[i]!=list.getLast()){
list.add(arr[i]);
}
}
Integer[] listing = list.toArray(new Integer[list.size()]);
int[] answer = Arrays.stream(listing).mapToInt(Integer::intValue).toArray();
return answer;
}
}
|
1. getLast();
- LinkedList 함수: 마지막 값 출력, 이전 원소값
2. mapToInt(Integer::intValue)
- mapToInt(): 스트림의 각 요소를 변환하고, 새로운 스트림을 반환
- Integer::intValue: 메서드 레퍼런스(Method Reference), Integer 클래스의 intValue() 메서드
- Integer 객체를 정수형(int) 값으로 변환
🔗 소스 코드
GitHub
📚 참고 자료
'Computer > Algorithm_Java' 카테고리의 다른 글
[Programmers] 소수 만들기 (Success) (0) | 2023.09.18 |
---|---|
[BaekJoon] 15649번 N과 M (1) 문제 풀이 (Success) (0) | 2023.09.17 |
[Programmers] 가운데 글자 가져오기 (Success) (0) | 2023.09.15 |
[Programmers] 폰켓몬 (Success) (0) | 2023.09.14 |
[BaekJoon] 1620번 나는야 포켓몬 마스터 이다솜 문제 풀이 (Success) (0) | 2023.09.12 |