Skip to content

[Leetcode] 26. Remove Duplicates from Sorted Array ​

Problem ​

문제 링크

μž…λ ₯으둜 μ£Όμ›Œμ§„ λ°°μ—΄μ—μ„œ 쀑볡값을 λ’€λ‘œ λ°°μΉ˜ν•˜κ³ (μ΄λ•Œ μ–΄λ–€ κ°’μœΌλ‘œ μˆ˜μ •ν•˜λ“  μƒκ΄€μ—†μŒ) 쀑볡이 μ—†λŠ” μš”μ†Œμ˜ 합을 λ¦¬ν„΄ν•˜λΌ.

Solution ​

  1. λ°˜λ³΅λ¬Έμ„ μ΄μš©ν•˜μ—¬ ν˜„μž¬ μΈλ±μŠ€μ™€ λ‹€μŒ 인덱슀의 값을 λΉ„κ΅ν•œλ‹€.

  2. 값이 λ‹€λ₯΄λ‹€λ©΄ μ€‘λ³΅λ˜μ§€ μ•ŠλŠ” 값이라고 νŒλ‹¨ν•˜μ—¬ κΈ°μ‘΄ λ°°μ—΄μ˜ μ•žμ— λ„£μ–΄μ€€λ‹€

    • idx = 1와 nums[idx++] = nums[i+1]을 ν•΄μ€€ μ΄μœ λŠ” nums[i+1]의 경우 λ‹€λ₯Έ 값이 λ“€μ–΄μ™”μ„λ•Œμ΄κ³ , idx = 1은 맨 처음 μ€‘λ³΅ν•˜μ§€ μ•ŠλŠ” 값이닀.

JS Code ​

js
/**
 * @param {number[]} nums
 * @return {number}
 */
var removeDuplicates = function(nums) {
    if (!nums.length) return 0
    let idx = 1
    
    for(let i = 0 ; i < nums.length-1; i++) {
        if (nums[i] !== nums[i+1]) {
            nums[idx++] = nums[i+1]
        }
    }
    
    return idx
};