function solution(numbers) {
const result = [];
for (const num of numbers) {
if (num % 4 !== 3) {
result.push(num + 1);
continue;
}
let str = num.toString(2);
if (str.indexOf('0') < 0) str = '0' + str;
const i = str.lastIndexOf('01');
const nextStr = str.slice(0, i) + '10' + str.slice(i + 2);
result.push(parseInt(nextStr, 2));
}
return result;
}
비트 연산에 약해서 다른 사람들처럼 수학적인 규칙이 아니라 노트에 수를 다 써가면서 규칙을 찾았다...
1시간 넘게 걸렸지만 풀어서 뿌듯