본문 바로가기
Coding Test/Programmers

[Programmers] (월간 코드 챌린지 시즌2) Lv 2. 2개 이하로 다른 비트

by song.ift 2023. 3. 7.

https://school.programmers.co.kr/learn/courses/30/le\ssons/77885

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

function solution(numbers) {
    return numbers.map((e) => {
        const binary = e.toString(2).split("");

        if (binary.at(-1) === '0')
            binary[binary.length - 1] = '1';
        else if (!binary.some((v) => v === '0')) {
            binary[0] = '0';
            binary.unshift('1');
        }
        else {
            for (let i = binary.length - 1; i > 0; --i) {
                if (binary[i] === '1' && binary[i - 1] === '0') {
                    binary[i - 1] = '1';
                    binary[i] = '0';
                    break;
                }
            }
        }

        return parseInt(binary.join(""), 2);
    });
}

GitHub : https://github.com/developeSHG/Algorithm-Baekjoon_Programmers/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/lv2/77885.%E2%80%852%EA%B0%9C%E2%80%85%EC%9D%B4%ED%95%98%EB%A1%9C%E2%80%85%EB%8B%A4%EB%A5%B8%E2%80%85%EB%B9%84%ED%8A%B8

 

GitHub - developeSHG/Algorithm-Baekjoon_Programmers: 백준 and 프로그래머스 소스코드

백준 and 프로그래머스 소스코드. Contribute to developeSHG/Algorithm-Baekjoon_Programmers development by creating an account on GitHub.

github.com

 

댓글