https://school.programmers.co.kr/learn/courses/30/le\ssons/77885
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);
});
}
'Coding Test > Programmers' 카테고리의 다른 글
[Programmers] (월간 코드 챌린지 시즌1) Lv 2. 삼각 달팽이 (0) | 2023.03.08 |
---|---|
[Programmers] (월간 코드 챌린지 시즌1) Lv 2. 쿼드압축 후 개수 세기 (0) | 2023.03.08 |
[Programmers] Lv 2. 덧칠하기 (0) | 2023.03.07 |
[Programmers] (2018 KAKAO BLIND RECRUITMENT) Lv 2. [1차] 프렌즈4블록 (0) | 2023.03.06 |
[Programmers] (Summer/Winter Coding(~2018)) Lv 2. 방문 길이 (0) | 2023.03.03 |
댓글