본문 바로가기
알고리즘/백준 BOJ

[ BOJ/C# ] 1789 수들의 합

by 왹져박사 2023. 11. 6.
728x90

https://www.acmicpc.net/problem/1789

 

1789번: 수들의 합

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

www.acmicpc.net

그렇게 어려운 문제는 아니라고 생각했지만, 한 부분 때문에 계속 Overflow가 떴다. 

처음에는 원인을 몰라 이분탐색으로도 하고 자료형도 바꿔보고 별 방법으로 실행해 보았다. 

결과적으로 문제는,

입력 부분의 자료형을 습관대로 int.Parse로 해 계속 처음부터 Overflow로 에러가 발생한 것이었다............

 

using System;
using System.IO;

namespace B1789
{
    class Program
    {
        static void Main()
        {
            StreamReader sr = new StreamReader(new BufferedStream(Console.OpenStandardInput()));
            StreamWriter sw = new StreamWriter(new BufferedStream(Console.OpenStandardOutput()));

            long s = long.Parse(sr.ReadLine());
            long sum = 0;
            long n = 0;
            while (sum < s)
            {
                if (s <= sum) break;
                sum += (n + 1);
                n++;
            }
            if (sum > s) sw.Write(n - 1);
            else sw.Write(n);
            sr.Close();
            sw.Flush();
            sw.Close();
        }
    }
}

728x90

'알고리즘 > 백준 BOJ' 카테고리의 다른 글

[ BOJ/C# ] 4673 셀프 넘버  (0) 2023.11.07
[ BOJ/C# ] 2941 크로아티아 알파벳  (0) 2023.11.06
[ BOJ/C# ] 16435 스네이크버드, 골드  (0) 2023.11.05
[ BOJ/C# ] 1427 소트인사이드  (0) 2023.11.04
[ BOJ/C# ] 15829 Hashing  (1) 2023.11.03