LeetCode - 2283. Check if Number Has Equal Digit Count and Digit Value

henu·2023년 10월 31일
0

LeetCode

목록 보기
135/186

Solution

var digitCount = function(num) {
    const hash = {}

    for(let val of num) {
        hash[val] = (hash[val] || 0) + 1
    }

    for(let i=0; i<num.length; i++) {
        if((hash[i] || 0) !== +num[i]) {
            return false
        }
    }

    return true
};

Explanation

Hash Table을 이용하면 크게 어렵지 않게 해결할 수 있다.
1. Hash Table에 for문을 사용하여 숫자별 등장 횟수를 기록한다.
2. 인덱스를 키로 사용하여 Hash Table에서 검색하여 결과값과 특정 인덱스의 수가 다를 경우 즉시 false를 리턴한다.
이때 num[i]타입에 유의한다!!

0개의 댓글