Baekjoon
[백준] 1789번 - 수들의 합 (Java)
Devtraces
2022. 1. 9. 17:53
https://www.acmicpc.net/problem/1789
1789번: 수들의 합
첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다.
www.acmicpc.net
수들의 합 성공
문제
서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최댓값은 얼마일까?
입력
첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다.
출력
첫째 줄에 자연수 N의 최댓값을 출력한다.
예제 입력 1
200
예제 출력 1
19
나의 코드
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
long s = scan.nextLong();
long maxN = 0;
long sum = 0;
while(true) {
maxN++;
sum += maxN;
if(s-sum <= maxN) {
break;
}
}
System.out.println(maxN);
}
}
※ 체크
런타임 에러 (InputMismatch)가 발생해서 확인해보니 입력 값 S의 범위가 int를 넘어 long으로 선언했다.
변수 선언 시 자료형(데이터 타입)을 주의하자!