https://www.acmicpc.net/problem/1789
- 사용언어 : 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);
'백준 알고리즘 > Lang-node.js' 카테고리의 다른 글
[백준/node.js] 1439번 뒤집기 (0) | 2022.03.19 |
---|---|
[백준/node.js] 10610번 30 (0) | 2022.03.19 |
[백준/node.js] 5585번 거스름돈 (0) | 2022.03.18 |
[백준/node.js] 24262번 알고리즘 수업 - 알고리즘의 수행 시간 1 (0) | 2022.01.25 |
[백준/node.js] 23803번 골뱅이찍기 - ㄴ (0) | 2022.01.20 |