백준 알고리즘/Lang-node.js
[백준/node.js] 1789번 수 들의 합
Jongung
2022. 3. 18. 23:48
https://www.acmicpc.net/problem/1789
1789번: 수들의 합
첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다.
www.acmicpc.net
- 사용언어 : node.js
- 알고리즘 : 수학, 그리디 알고리즘
- Solved.ac Tier : Silver V
node.js 코드
1. 문제 정리
서로 다른 N개의 자연수의 합이 S라고 한다. S를 입력으로 줄때 N의 최대 값은 얼마일까?
for문으로 1씩 증가하여 더해지는 등차수열을 사용하여, 입력 받은 input 값보다 더한 sum 값이 더 커졌을때 break 해주는 식으로 해결하였다.
2. 완성 코드
const fs = require('fs');
let input = fs.readFileSync("/dev/stdin").toString();
let sum = 0, cnt = 0;
for(let i =1;; i++){
sum += i
cnt++;
if(sum > input){
cnt--;
break;
}
}
console.log(cnt);