본문 바로가기
C#/C# : Baekjoon

[백준] C# : 두 수 비교하기 (1330번)

by TODAYCODE 2021. 7. 22.
반응형

백준 단계별로 풀어보기 2단계 if문 1번문제

 

1330번: 두 수 비교하기

두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오.

www.acmicpc.net

 

문제의 핵심

1. if문을 사용할 수 있는가?

 

2. switch 문으로도 풀어보자

 


 

백준에는 switch문 문제는 없으므로 if문에서 연습해보도록 하자.

하단 정답 부분에 if문 정답과 switch문 정답을 모두 올려두었다.

 

 

if문을 알고있다면

손쉽게 풀 수 있는

아주 쉬운 기본적인 문제.

 

switch문은 생각보다 낯설어 하는 경우가 잦으므로 설명을 하고 넘어가도록 하겠다.

switch문을 작성하고 ( ) 안에는 조건식을 넣어주면 된다.

그리고나서, case별로 분류를 해주면 원하는 값을 얻을 수 있다.

switch( a > 0 ) // ( ) 안에 적은 것이
{
    case true:
    	Console.WriteLine("a는 0보다 크다.");
        break;
    // a > 0 이 거짓이면서, a가 0인 경우
    case false When a == 0 :	// When 을 적고 조건식을 적는 것으로 추가적인 조건검색 가능
    	Console.WriteLine("a는 0이다.");
        break;
    // 위의 케이스에 해당되지 않는 모든 경우
    default:
    	Console.WriteLine("a는 0보다 작다.");
        break;
}

위의 코드블록을 보면 알겠지만,

각 case 마다 When 절을 사용해서 추가적인 조건검색을 해줄 수 있다.

 

아무튼 이런 식으로 대략적인 switch 문법을 사용할 수 있다.

다음번에는 switch문을 변형해서 간략하게 사용하는 법을 알아보도록 하자.

 

 

 

if문 정답코드

using System;

namespace 조건문
{
    class Program
    {
        static void Main(string[] args)
        {
        	// 숫자를 입력 받아서 공백을 기준으로 잘라서 배열에 담는다.
            string[] n = Console.ReadLine().Split();
            
            // 입력된 값을 int로 변환해서 저장한다.
            int a = int.Parse(n[0]);
            int b = int.Parse(n[1]);
            
            // if 문을 사용해서 비교한다.
            if (a > b)
            {
                Console.WriteLine(">");
            }
            else if (a < b)
            {
                Console.WriteLine("<");
            }
            else
            {
                Console.WriteLine("==");
            }
        }
    }
}

 

switch문 정답 코드

using System;

namespace 조건문
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] n = Console.ReadLine().Split();
            int a = int.Parse(n[0]);
            int b = int.Parse(n[1]);

		// a > b 를 기준으로 검사
            switch (a > b)
            {
            	// a > b 가 참일 때
                case true:
                    Console.WriteLine(">");
                    break;
                    
                // a > b 가 거짓인데, a < b가 참일 때
                case false when a < b:
                    Console.WriteLine("<");
                    break;
                    
                // 어느 경우도 아닐 때
                default:
                    Console.WriteLine("=");
                    break;
            }
        }
    }
}

 

반응형

'C# > C# : Baekjoon' 카테고리의 다른 글

[백준] C# : 윤년 (2753번)  (0) 2021.07.22
[백준] C# : 시험 성적 (9498번)  (0) 2021.07.22
[백준] C# : 곱셈 (2588번)  (1) 2021.07.22
[백준] C# : 나머지 (10430번)  (0) 2021.07.22
[백준] C# : 사칙연산 (10869번)  (0) 2021.07.22

댓글