[프로그래머스 Lv.2] 월간 코드 챌린지 시즌2- 2개 이하로 다른 비트

김민지·2024년 2월 5일
0

✨ 문제 ✨

✨ 정답 ✨

function solution(numbers) {
    const answer = [];

    for (let number of numbers) {
        let bit = BigInt(number);

        if (bit % BigInt(2) === BigInt(0)) {
            answer.push(Number(bit + BigInt(1)));
        } else {
            let mask = BigInt(1);
            let lowBit = BigInt(0);
            while (bit & mask) {
                lowBit = mask;
                mask <<= BigInt(1);
            }
            answer.push(Number(bit + lowBit));
        }
    }

    return answer;
}

🧵 참고한 정답지 🧵

💡💡 기억해야 할 점 💡💡

profile
이건 대체 어떻게 만든 거지?

0개의 댓글

관련 채용 정보