반응형
🔐 문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/12906
🔐 문제 분석
- 주어진 배열(arr)에 순차적으로 접근하여, 이전 원소와 같은 값인지 비교한다.
- 이전 원소의 값과 같지 않다면, 리스트에 담는다.
(배열의 첫 번째 원소의 경우에는 이전 원소와 비교할 수 없으므로, 이전 원소에 해당하는 prevNum을 -1로 초기화한다. 배열의 원소는 0~9만 될 수 있으므로 -1로 초기화하면 배열의 첫 번째 값은 무조건 리스트에 담을 수 있다.) - 리스트를 배열 타입으로 변환하여 반환한다.
🔐 문제 풀이
import java.util.*;
public class Solution {
public int[] solution(int[] arr) {
List<Integer> answer = new ArrayList<>();
int prevNum = -1;
for (int num : arr) {
if (prevNum != num) {
answer.add(num);
}
prevNum = num;
}
return answer.stream().mapToInt(x -> x).toArray();
}
}
반응형
'Algorithm' 카테고리의 다른 글
[프로그래머스] Lv1. 3진법 뒤집기 (0) | 2023.06.06 |
---|---|
[프로그래머스] Lv1. 이상한 문자 만들기 (0) | 2023.06.05 |
[프로그래머스] Lv1. 행렬의 덧셈 (0) | 2023.06.05 |
[프로그래머스] Lv1. 문자열 다루기 기본 (1) | 2023.06.04 |
[프로그래머스] Lv1. 부족한 금액 계산하기 (0) | 2023.06.04 |