본문 바로가기
BaekJoon/Silver

[BOJ/JAVA] 백준 1789 : 수들의 합 (자바)

by HoonSikE 2022. 4. 15.
반응형
SMALL
문제 정보
  문제명   - 수들의 합
  난이도   - 실버 V
문제 번호 - 1789번

문제 링크

BOJ_S5_1789_수들의_합

 

1789번: 수들의 합

첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다.

www.acmicpc.net


문제
서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최댓값은 얼마일까?

입력
첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다.

출력
첫째 줄에 자연수 N의 최댓값을 출력한다.

예제 입력/출력
예제 입력 예제 출력
200 19

알고리즘 분류
● 수학
● 그리디 알고리즘

소스코드
package Lv2_Silver;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
 * @author HanHoon
 * @category 수학, 그리디 알고리즘
 * https://www.acmicpc.net/problem/1789
 */
public class BOJ_S5_1789_수들의_합 {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		// 서로 다른 N개의 자연수의 합  S
		long S = Long.parseLong(br.readLine());
		int N = 0;
		while(S > 0) {
			S -= ++N;
		}
		// S가 딱 맞아 떨어지면 N개의 수를 더함
		// S가 음수가 된다면 모자란 만큼에 해당되는 수를 제외하고, 다음 숫자에 그 숫자를 더하게 되므로 결국 N-1이 된다.
		System.out.println(S == 0 ? N : N-1);
		br.close();
	}
}

 


BaekJoon List
 

BaekJoon List

BOJ Start!! ● [BOJ] 백준 회원가입, 시작하는 법 ● [BOJ] 등급(티어) 및 Solved.AC 적용 ● [BOJ/JAVA] 백준 소스코드 제출 시 유의사항(자바) Bronze ● Bronze V  - ● Bronze IV  - ● Bronze III  -..

han-hoon.tistory.com


  

기회는 준비된 자에게 찾아온다.

 


 

반응형
LIST

댓글