programmers.co.kr/learn/courses/30/lessons/12906
코딩테스트 연습 - 같은 숫자는 싫어
배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은
programmers.co.kr
- 내 풀이
function solution(arr){
var answer = [];
for(var i = 0; i < arr.length; i++){
if(arr[i] != arr[i + 1]){
// 배열의 앞에 숫자와 뒤에 숫자가 다르면 연속되지 않은 숫자 이기 때문에 새로운 배열 객체에 담아준다!!
answer.push(arr[i]);
}
}
return answer;
}
- 깨달은 점
처음에는 if 조건문에서 배열의 앞 숫자와 뒷 숫자가 같으면 기존 배열에서 빼는 식으로 구현을 했는데
그러다보니 조건을 건너 뛰는 숫자가 생겨 연속되는 숫자가 배열에서 나왔다.
생각하다보니 다른 숫자를 새로운 배열에 넣는 식으로 구현하게 되었다.
- 다른 사람의 풀이
function solution(arr)
{
return arr.filter((val,index) => val != arr[index+1]);
}
→ 이해 못함....ㅎㅎ
'알고리즘 공부하기!' 카테고리의 다른 글
[프로그래머스] 우유와 요거트가 담긴 장바구니 (0) | 2021.03.09 |
---|---|
[프로그래머스] 모의고사 (1) | 2021.03.02 |
[프로그래머스] 두 개 뽑아서 더하기 (1) | 2021.03.01 |
[프로그래머스] 완주하지 못한 선수 (2) | 2021.02.28 |