728x90
예제를 보고 이해할 수 있는 문제였다.
합이 200이 되는데, 가장 큰 값이 19라면, 1~19까지 더한 값이였다.
따라서 1~ i 까지의 합이 s 보다 크거나 같아야한다.
크면 1~i 의범위에서 1개를 빼면 된다.
package BAEKJOON;
import java.util.Scanner;
public class NO1789 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long s = sc.nextLong(); // 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다.
long answer = 0; // S 에 도달할 값
long i = 0; // 최댓값을 구하는 변수
while(s >= answer) {
i++;
answer += i;
}
System.out.println(i-1);
}
}
728x90
'Algorithm & SQL > BAEKJOON' 카테고리의 다른 글
백준 JAVA 10250 ACM 호텔 (0) | 2022.07.12 |
---|---|
백준 JAVA 1712 손익분기점 (0) | 2022.07.12 |
백준 JAVA 2869 달팽이는 올라가고 싶다 (0) | 2022.07.11 |
백준 JAVA 1037 약수 (0) | 2022.07.10 |
백준 JAVA 1978 소수 찾기 (0) | 2022.07.09 |
댓글