function solution(arr)
{
let answer = [];
for(let i = 0; i < arr.length; i++) {
if(arr[i] !== arr[i+1]) {
answer.push(arr[i]);
}
}
return answer;
}
- arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다.
- arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다.
얼핏 보면 중복을 제거하는 문제로 보이지만 첫 번째 케이스 [1, 3, 0, 1] 케이스는 중복을 제거한 결과가 아니다. 따라서 단순 중복 제거로 includes() 함수를 쓰면 안 된다.
arr[0]과 arr[1]을 비교해서 같은 숫자이면 다시 돌고, 다른 숫자이면 answer 배열에 넣어주는 방식으로 문제를 풀이했다.
'개발 > 코딩테스트' 카테고리의 다른 글
[Javascript] N개 배열로 순열 조합 문제 (0) | 2023.10.03 |
---|---|
[Javascript] 프로그래머스 코딩테스트 입문 K번째 수 (2) | 2023.10.02 |
[Javascript] 프로그래머스 코딩테스트 입문 모스부호(1) (0) | 2023.10.01 |
[Javascript] 프로그래머스 코딩테스트 입문 팩토리얼 (0) | 2023.10.01 |
[Javascript] 유클리드 호제법을 활용한 최대공약수(GCD), 최소공배수(LCM) 구하기 (0) | 2023.10.01 |