A.P - 중복 숫자 제거(프로그래머스, L1)

EBinY·2022년 8월 24일
0

AP - Algorithm Problem

목록 보기
44/55
  1. 문제
  • 0-9까지의 숫자가 무작위만큼 담긴 배열이 주어짐
  • 연속되는 숫자중 중복되는 숫자는 1개만 남기고 리턴
  • 예시
    • [1,1,1,2,2,3,4,4,5,4,5,5] => [1,2,3,4,5,4,5]
    • [1,3,2,4,4,5] => [1,3,2,4,5]
  1. 수도코드
결과와 동일
  1. 결과
function solution(arr)
{
    let result = [];
    // 연속되는 중복수만 제거
    // 반복문으로 중복수 중 처음만 결과에 담고
    // 중복시에는 무시, 다른 수가 나오면 또 담고
    // arr을 전부 다 돌리고 결과 리턴
    for (let i = 0; i < arr.length; i++) {
        if (i === 0) {
            result.push(arr[i]);
        } else if (arr[i] !== arr[i-1]) {
            result.push(arr[i])
        }
    }
    return result;
}
  1. 레퍼런스
function solution(arr)
{
    return arr.filter((val,index) => val != arr[index+1]);
}
  • filter의 활용법을 공부하면 좋을 듯하다
  • arr을 순회하며 현재 인덱스의 값이 다음 인덱스의 값과 일치하지 않을 경우만 남기고 제거하는 형식
  • 예시2: [1,3,2,4,4,5] => [1,3,2,4,5]
  • [0]인 1은 [1]인 3과 다르므로 남기고, [1]인 3은 마찬가지로 [2]인 2와 다르므로 남김, [3]인 4는 [4]와 같으므로 제거하고, [4]인 4는 [5]인 5와 다르므로 남게 됨

0개의 댓글

관련 채용 정보