반응형
백준 단계별로 풀어보기 4단계 while문 1번문제
문제의 핵심
1. while문을 사용할 줄 아는가?
2. 점프문을 사용할 줄 아는가?
while문은 작은 실수한번으로도 무한루프에 빠지기 쉽지만,
잘만 다뤄준다면 굉장히 강력한 도구이다.
while문에서는 탈출하기 위한 장치를 무조건 세팅해야한다.
보통 bool 변수를 활용하곤 하는데
이번 문제의 경우에는 점프문을 사용했다.
c#에서 점프문은 5가지가 존재하는데,
그 중 break문을 통해서 while문을 손쉽게 탈출 할 수 있다.
if문을 사용해서 변수 2개에 모두 0이 입력되었을 때,
break로 while문을 빠져나가도록 작성했다.
그리고...
한번 입력하고 한번 출력하고 이걸 반복시켜도 정답처리를 받을 수 있는데,
나는 입력이 모두 끝난 뒤에 한번에 출력하기 위해서 스트링빌더를 사용했다.
전자처럼 풀고 싶다면,
그냥 입력할 때마다 합을 int로 저장해서 출력해버리면 된다.
정답 코드
using System;
// 스트링빌더를 사용하기 위함
using System.Text;
namespace While1
{
class Program
{
static void Main(string[] args)
{
// 스트링빌더를 생성해준다.
StringBuilder answer = new StringBuilder();
// 항상 돌아가는 while문을 만든다.
while (true)
{
// 입력을 받는다.
string[] s = Console.ReadLine().Split();
int a = int.Parse(s[0]);
int b = int.Parse(s[1]);
// 만약 a와 b가 모두 0일 경우 break를 통해서 while문을 빠져나간다.
if (a == 0 && b == 0)
{
break;
}
// 코드가 여기까지 진행됐다면, a와 b가 전부 0은 아닌 상태이다.
// a + b 계산 값을 스트링빌더인 answer에 저장한다.
answer.AppendLine((a + b).ToString());
}
// a와 b가 모두 0이었다면 while문에서 빠져나와 여기로 오게 된다.
// 입력된 계산 값을 모두 출력한다.
Console.WriteLine(answer);
}
}
}
반응형
'C# > C# : Baekjoon' 카테고리의 다른 글
[백준 - 그리디 알고리즘 ] C# : 세탁소 사장 동혁 (2720번) (0) | 2021.07.23 |
---|---|
[백준 - 그리디알고리즘] C# : 전자레인지 (10162번) (0) | 2021.07.23 |
[백준] C# : X보다 작은 수 (10871번) (0) | 2021.07.23 |
[백준] C# : 별 찍기 - 2 (2439번) (0) | 2021.07.23 |
[백준] C# : 별 찍기 - 1 (2438번) (0) | 2021.07.23 |
댓글