[백준] 1074_Z (Javascript)

잭슨·2024년 2월 15일
0

알고리즘 문제 풀이

목록 보기
23/130
post-thumbnail

문제

BOJ1074_Z

코드

const filePath = process.platform === "linux" ? "/dev/stdin" : "./Javascript/input.txt";
const [N, r, c] = require("fs").readFileSync(filePath).toString().trim().split(" ").map(Number);

let answer = 0;
function divide(row, col, size) {
    // 찾았을 경우
    if (row === r && col === c) {
        console.log(answer);
        return;
    }
    if (row <= r && r < row + size && col <= c && c < col + size) {
        size = Math.floor(size / 2);
        divide(row, col, size);
        divide(row, col + size, size);
        divide(row + size, col, size);
        divide(row + size, col + size, size);
    } else answer += size * size;
}
divide(0, 0, 2 ** N);

코드 설명

4 7 8 이 입력으로 주어졌다고 가정했을 때 아래와 같이 동작한다.

profile
지속적인 성장

0개의 댓글