Development Project

[ Baekjoon - 10/10 ] - 1789번: 수들의 합 본문

CodingTest/Baekjoon

[ Baekjoon - 10/10 ] - 1789번: 수들의 합

나를 위한 시간 2022. 10. 10. 23:04
 

1789번: 수들의 합

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

www.acmicpc.net

 

  • 소요 시간 : 10분

 

 

  1. 문제를 읽고 이해하기
    • 제한
      • 시간 : 2초
      • 메모리 : 128MB
    • 문제
      • 서로다른 N개의 자연수의 합이 S(1≤S≤4,294,967,295)
      • S를 알때 N의 최댓값을 구하는 문제
    • 이해
      • 서로 다른 N개의 자연수로 최댓값을 구하는 것이므로, 가장 작은 자연수부터 더했을때 S보다 커지는 값을 찾고 그때 -1을 하면 답이된다!
      • 그 외의 처리나, 다른 절차는 필요없는 문제..
  2. 계획 수행 (실제코드 작성) - 평소였다면 5단계에 위치했을테지만 너무 간단해서 바로 코드로 썼다.
    1. Java 11
      • import java.io.*;
        import java.util.*;
        
        public class Main {
            static int cnt;
            static long num,sum;
        
            public static void main(String[] args) throws IOException {
                BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
                num = Long.parseLong(br.readLine());
                sum = 0;
                cnt = 0;
        
                for(int i=1; ; i++) {
                    if(sum > num)	break;
                    sum += i;
                    cnt ++;
                }
                System.out.println(cnt-1);
            }
        }

 

  • 결과 - 조금 시원섭섭한 문제였다. 난이도 안보고 골랐더니 음...

Comments