1394. Find Lucky Integer in an Array

·

1 min read

Table of contents

https://leetcode.com/problems/find-lucky-integer-in-an-array/description/

my solution

  1. 모든 숫자를 순회해서 각 숫자의 frequency count를 객체에 저장한다.

  2. 객체의 키와 값이 동일한 경우에만 luckyNum 값을 업데이트한다.

/**
 * @param {number[]} arr
 * @return {number}
 */
var findLucky = function (arr) {
    let luckyNum = -1;
    let frequencyObj = {};

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

    for (const [key, value] of Object.entries(frequencyObj)) {
        if (Number(key) === value) luckyNum = value;
    }

    return luckyNum;
};