정답 코드
let input = require("fs")
.readFileSync(process.platform === "linux" ? "/dev/stdin" : "input.txt")
.toString()
.trim()
.split("\n");
solution(input[0], input[1]);
function solution(n, f) {
let answer = 0;
let num = ((n / 100) | 0) * 100;
while (true) {
if (num % f == 0) {
answer = num;
break;
} else {
num++;
}
}
console.log(("" + answer).slice(-2));
}
| 는 or의 비트(bit) 연산자입니다. 비트 연산자는 Number나 BigInt값에서 사용하며, 32비트 정수로 변환해 연산을 수행합니다.
이때 비트 연산자는 소수점 이하의 값은 사용하지 않습니다.
비트 OR 연산자는 비교대상인 두 비트의 값중 1이 있으면 1을 반환합니다.
const a = 3 // 0011
const b = 5 // 0101
console.log(a | b) // 7 = 0111
while문은 ()안의 조건이 참(true)일때 실행되는 반복문입니다.
조건이 참일 경우{} 문장이 반복해서 실행됩니다.
slice 메서드는 배열의 시작부터 끝까지 얕은 복사로 새로운 배열을 반환합니다.
()안에 시작 index, 마지막 index를 입력하면 새로운 배열이 반환됩니다.
Article | [JS] 비트 연산자(bitwise operator)
MDN while
MDN slice
MDN Bitwise OR (|)