728x90
programmers.co.kr/learn/courses/30/lessons/12906?language=javascript
나의 코드
입려된 배열의 마지막에서 두 번째 원소까지 탐색을 진행한다.
현재 인덱스의 숫자의 다음 인덱스의 숫자가 다르다면 answer에 push를 하며 탐색이 모두 종료되었을 때 마지막 인덱스의 숫자도 push하여 반환한다.
function solution(arr)
{
var answer = [];
for (var i=0; i<arr.length-1; i++){
if (arr[i] !== arr[i+1]){
answer.push(arr[i]);
}
}
answer.push(arr[arr.length-1])
return answer;
}
다른 사람의 코드
filter()를 활용하여 주어진 조건에 부합하는 요소들로 새로운 배열을 만들어 반환한다.
val은 조건에의해 처리할 현재 요소를 나타내고 index는 처리할 요소의 인덱스를 나타낸다.
즉 첫 번째 매개변수에는 처리할 현재 요소, 두 번째 매개변수는 처리할 요소의 인덱스를 의미한다.
이를 통해 현재 요소와 다음 요소가 다르다면 새로운 배열에 추가시킨다.
function solution(arr)
{
var answer = [];
answer = arr.filter((val, index) => val != arr[index+1]);
return answer;
}
'알고리즘 풀이 > 프로그래머스' 카테고리의 다른 글
[Level 2] 타겟 넘버 (0) | 2021.03.03 |
---|---|
[Level 3] 가장 먼 노드 (0) | 2021.03.02 |
[Level 2] 큰 수 만들기 (0) | 2021.02.27 |
[Level 2] 튜플 (0) | 2021.02.26 |
[Level 2] 다음 큰 숫자 (0) | 2021.02.26 |