Wii Pointer #1 Tilt Normal
본문 바로가기
📂 𝐚𝐥𝐠𝐨𝐫𝐢𝐭𝐡𝐦/백준

[BAEKJOON] 백준 8단계 - 2292번 / JavaScript

by 개발자_후니 2024. 2. 20.
728x90
반응형
출처

 

https://www.acmicpc.net/problem/2292

 

2292번: 벌집

위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌

www.acmicpc.net

 

문제


위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다.

입력
첫째 줄에 N(1 ≤ N ≤ 1,000,000,000)이 주어진다.

출력
입력으로 주어진 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나는지 출력한다.

예제 입력 1 

13


예제 출력 1 

3


출처
ICPC > Regionals > Asia Pacific > Korea > Nationwide Internet Competition > Seoul Nationalwide Internet Competition 2004 B번

 

나의 풀이

 

 

const inputData = require('fs').readFileSync('example.txt').toString().trim();

let answer = 1;

if (inputData === 1) {
  console.log(1);
} else {
  for (let i = 1; i < Infinity; i++) {
    if (answer >= inputData) {
      console.log(i);
      break;
    } else {
      answer += 6 * i;
    }
  }
}

 

혹은

 

const inputData = require('fs').readFileSync('example.txt').toString().trim();

let answer = 1;

if (inputData === 1) {
  console.log(1);
} else {
  for (let i = 1; ; i++) {
    if (answer >= inputData) {
      console.log(i);
      break;
    } else {
      answer += 6 * i;
    }
  }
}
728x90
반응형