개발후라이
개발후라이
개발후라이
  • 분류 전체보기 (286)
    • Web Front End (75)
      • Javascript & Typescript (26)
      • React (12)
      • Vue (4)
      • Nodejs (1)
      • HTML (6)
      • CSS (7)
      • HTTP (6)
      • 책 - Review (8)
    • TIL (0)
    • Problem Solved (135)
      • 알고리즘 (4)
      • BOJ (67)
      • Programmers (8)
      • HackerRank (33)
      • LeetCode (23)
    • 회고 (4)
      • 오늘의 회고 (16)
      • 주간 회고 (15)
      • 월간 회고 (7)
      • WakaTime (9)
    • Git (3)
    • 기타 (15)
      • 취업 (5)
      • 자격증 (1)

블로그 메뉴

  • GitHub
  • LinkedIn
  • 홈

인기 글

태그

  • 프론트엔드
  • 오늘의회고
  • 노개북
  • 회고
  • 릿코드
  • 개발자
  • 자바스크립트
  • JavaScript
  • TypeScript
  • 노마드북클럽

최근 댓글

최근 글

전체 방문자
오늘
어제

티스토리

hELLO · Designed By 정상우.
개발후라이

개발후라이

Problem Solved/LeetCode

[LeetCode][Javascript] 26. Remove Duplicates from Sorted Array

2020. 1. 15. 16:13
반응형

문제

[LeetCode][Javascript] 26. Remove Duplicates from Sorted Array

문제 설명

주어진 정렬된 배열의 중복값을 없앤 길이를 출력하는 문제.
단, 주어진 배열을 수정해야 함(새롭게 만들면 안됨)

고차함수는 사용할 수 없는 문제라고 생각하면 될 것 같다.
처음에 Set과 filter를 사용해 보았지만 틀린 답이라고 나왔다.
그래서 for문에 splice를 사용했다.
splice는 값을 삭제만 하는 기능도 있기 때문이다.
근데 인덱스를 0번부터 1씩 커가는 식으로 돌리면 3개 이상 중복인 값은 제대로 지워지지 않는다.
사실 이전에 다른 문제를 풀면서도 겪었던 문제인데, 간단하게 뒤에서부터 돌려주면 된다.
나처럼 하지 않고 새로운 length 변수를 만들어 거기에 length를 세어줘도 된다.

성공 코드

const removeDuplicates = (nums) => {
    for (let i = nums.length - 2; i >= 0; i--) {
        if (nums[i] === nums[i + 1]) {
            nums.splice(i, 1);
        }
    }
    return nums.length;
};
반응형
저작자표시 (새창열림)
    'Problem Solved/LeetCode' 카테고리의 다른 글
    • [LeetCode][javascript] 344번 문제 - Reverse String
    • [LeetCode][Javascript] 136번 - Single Number
    • [LeetCode][Javascript] 202번 - Happy Number
    • [LeetCode][Javascript] Easy - Reverse Integer
    개발후라이
    개발후라이
    어제보다 오늘 발전하기 위한 공간 https://github.com/choisohyun

    티스토리툴바