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으로 선언했다.
변수 선언 시 자료형(데이터 타입)을 주의하자!
'Baekjoon' 카테고리의 다른 글
[백준] 14659번 - 한조서열정리하고옴ㅋㅋ (Java) (1) | 2022.01.11 |
---|---|
[백준] 11497번 - 통나무 건너뛰기 (Java) (0) | 2022.01.11 |
[백준] 16435번 - 스네이크버드 (Java) (1) | 2022.01.11 |
[백준] 2864번 - 5와 6의 차이 (Java) (0) | 2022.01.09 |
[백준] 1946번 - 신입 사원 (Java) (0) | 2022.01.09 |