CS/Algorithm
[백준:1789] 수들의 합 - JAVA (백준 : InputMismatch오류)
yujindonut
2021. 7. 13. 15:49
728x90
첫째 줄에 자연수 S는 범위를 봐서는, long으로 받아야하는데 int로 받음
import java.util.Scanner;
public class Main {
public static int sum(long n){
long sum = 0;
int i;
for(i = 1; i < n; i++) {
sum += i;
if(sum > n) break;
}
return i - 1; //마지막 숫자를 더하고 그에 맞는 한개를 빼버림
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
long N = scan.nextLong();
System.out.println(sum(N));
scan.close();
}
}
Greedy문제! 처음에 문제 이해하는데 어려움을 겪어서 다른분 문제 해석을 보고 코드를 썼음
1부터 숫자를 더하고, 더해진 숫자가 입력했던 숫자보다 커지면, 그만큼 차이?를 다른 숫자로 빼버리면 된다!!
728x90