본문 바로가기

TIL/알고리즘 연습

[Leetcode] 268. Missing Number, 412. Fizz Buzz, 344. Reverse String, 242. Valid Anagram, 387. First Unique Character in a String

268. Missing Number

링크

https://leetcode.com/problems/missing-number/description/

 

풀이

시간 - 5:25

var missingNumber = function(nums) {
    for (let i=0; i<nums.length; i+=1) {
        if (!nums.includes(i)) {
            return i
        }
    }

    return nums.length
};
# 리팩토링 코드 O(n^2) => O(n)
var missingNumber = function(nums) {
    const arr = Array.from({length :nums.length+1}).fill(-1)

    for (let i=0; i<nums.length; i+=1) {
        arr[nums[i]] = 1
    }

    return arr.findIndex(x => x === -1)
};

인사이트

1. 내장함수는 적절하게 사용해야한다. 무지성으로 사용하니 O(n^2)으로 늘어났다.


412. Fizz Buzz(2:17),

344. Reverse String(11:44),

242. Valid Anagram(07:05),

387. First Unique Character in a String(10:54)

- 인사이트가 없어서 생략

- 문법 연습하기 좋은 문제.