언젠가는 펼쳐 볼 아카이브

[BOJ] 2292번 - 벌집 본문

IT/Baekjoon Oline Judge

[BOJ] 2292번 - 벌집

개발자희망생고롸파덕 2023. 8. 28. 19:38

사용언어 : javascript - node.js

 

 

벌집의 개수가 늘어나는 숫자를 봤을때 아래처럼 증가한다

숫자 벌집의개수
1 1개
2 ~ 7 2개
8 ~ 19 3개
20 ~ 37 4개
38 ~ 61 5개

벌집의 개수가 늘어나기 직전의 숫자들만 보면,

1 -> 7 -> 19 -> 37 -> 61 ...

이런식으로 늘어난다. 늘어나는 값의 규칙성을 확인해보면 6n(육면체 벌집)에 앞의 값을 더한 값이라는걸 볼 알 수 있다.

 

1 (6*1) -> 7 (6*1+1) -> 19(6*2+7) -> 37(6*3+19) -> 61(6*4+37) ...

 

요 규칙성을 코드로 옮겨서 풀면 될거 같음!

 

 

#제출코드

const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
const input = fs.readFileSync(filePath).toString().trim();

solution(+input);

function solution(input) {
  let roomCount = 1;
  let number = 1;

  while (number < input) {
    number += 6 * roomCount;

    roomCount++;
  }

  console.log(roomCount);
}