본문 바로가기
개발 노트/백준, 프로그래머스 풀이

[백준 1789/javascript] 수들의 합

by tokkiC 2022. 10. 19.

카카오 데이터 센터 화재로 올리는 밀린 글 4

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

 

1789번: 수들의 합

첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다.

www.acmicpc.net

const { arrayBuffer } = require("stream/consumers");

let input = [];

const readline = require("readline").createInterface({
  input: process.stdin,
  output: process.stdout,
});

readline.on("line", (line) => {
  input.push(line);
});

readline.on("close", () => {
  solution(input);
  process.exit();
});

const solution = (input) => {
  let num = Number(input[0]);
  let sum = 0n;
  let n = 1n;
  let cnt = 0;

  while (true) {
    sum = sum + n;
    cnt++;
    // 합이 num 초과 시, 그 경우는 빼고 카운트를 멈춘다
    if (sum > num) {
      cnt--;
      break;
    }
    n = n + 1n;
  }
  console.log(cnt);
};

댓글