[LeetCode] 2859. Sum of Values at Indices With K Set Bits

Chobby·4일 전

LeetCode

목록 보기
809/826

😎풀이

  1. 1부터 nums의 길이 까지에 해당하는 2진수 생성
  2. 해당 2진수 순회
    2-1. 각 2진수에서 1의 수 탐색
    2-2. 1의 수가 k와 동일한 2진수라면, 현재 인덱스 저장
  3. 저장된 인덱스에 해당하는 nums 요소의 값 합계 연산
  4. 합계 반환
function sumIndicesWithKSetBits(nums: number[], k: number): number {
    const n = nums.length
    const idx = []
    const digits = Array.from({ length: n }, (_, i) => i.toString(2))
    for(let i = 0; i < n; i++) {
        const digit = digits[i]
        let countOne = 0
        for(const char of digit) {
            if(char !== '1') continue
            countOne++
        }
        if(countOne !== k) continue
        idx.push(i)
    }
    const sum = idx.reduce((acc, cur) => acc + nums[cur], 0)
    return sum
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글