WalkerJei's Lifelog

백준알고리즘 10951번 A + B - 4 C# 본문

소프트웨어 개발/코딩테스트(기성 문제)

백준알고리즘 10951번 A + B - 4 C#

WalkerJei 2025. 4. 12. 18:57

세부 정보

  • 사이트: 백준알고리즘
  • 번호: 10951
  • 문제명: A + B - 4
  • 언어: C#
  • 분류: 수학, 구현, 사칙연산
  • 비고: 

 

문제

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

 

입력

입력은 여러 개의 테스트 케이스로 이루어져 있다.

각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)

 

출력

각 테스트 케이스마다 A+B를 출력한다.

 

풀이

문자열로 입력을 받고 아무것도 없는 null 상태 여부를 확인해서 종료할 지를 결정하면 된다.

StreamReader sr = new StreamReader(Console.OpenStandardInput());
StreamWriter sw = new StreamWriter(Console.OpenStandardOutput());

while (true)
{
    // 문자열 형태로 입력을 받는다.
    string input = sr.ReadLine();
    // 만약 아무것도 입력하지 않고 Enter 키를 누르면 종료한다.
    if (input == null) break;
    // 입력받은 내용을 공백으로 구분 후 정수로 저장한다.
    int[] ab = input.Split().Select(int.Parse).ToArray();
    // 정수로 바꾼 결과의 합을 출력한다.
    sw.WriteLine(ab[0] + ab[1]);
}

sr.Close();
sw.Close();

 

후기

사실 이 문제는 몇 차례나 도전했던 적이 있었던 문제였다. 하지만 틀리거나 런타임 에러(Segfalut)로 대답했던 문제이기도 했다. 

while(true)
{
    try
    {
        int[] array = new int[2];
        array = Console.ReadLine().Split().Select(int.Parse).ToArray();
        Console.WriteLine(array[0] + array[1]);
    }
    // 아무것도 입력하지 않고 Enter키룰 누른 경우
    catch
    {
        break;
    }
}

 

오늘 제출한 정답을 제외하고 최근에 제출했던 코드인데 try 구문을 사용하라는 이야기를 찾고 그대로 해 보았지만 런타임 에러(Segfalult)를 냈던 코드이다.

오늘 찾은 피드백에 따르면 try - catch 구문조차 필요가 없었던 문제였다. 그렇게 단계별로 풀어보기 중 반복문 문제 12개를 모두 완료했다.

반복문 단계의 모든 문제를 풀었다.