본문 바로가기
C# 코딩챌린지/C# 코딩테스트 문제

C# 코딩테스트 문제 : if문을 활용한 가장 큰 수 출력하기

by 썬's 2024. 3. 24.

문제 풀기 전 당부사항

본 문제는 제가 직접 만든 문제입니다. 문제를 만들기 위해 여러 코딩테스트 사이트와 서적 등에서 참고만 할 뿐, 문제를 그대로 가져다 쓰지 않았습니다. 프로젝트 템플릿은 콘솔 앱으로 만들어 주시기 바랍니다.



 

문제 설명 : 세 개의 숫자를 입력받아 모든 숫자가 서로 다른 경우 가장 큰 숫자를 출력하세요. 그리고 모든 숫자가 같은 경우 "세 숫자 모두 같습니다"를 출력하세요 

 


해설 및 풀이

  1. 세 개의 숫자를 입력받아야 해서 정수형 변수 세 개를 선언 후 입력을 받습니다.
  2. 첫 번째 조건에 따라 if 조건식에 세 개의 숫자가 모두 다를 경우의 조건을 걸어줍니다.
  3. 그리고 if문 안에서 임의의 변수 하나를 선언해 줍니다. 이 변수에 num1을 대입하고 num1이 가장 큰 숫자라고 가정하겠습니다.
  4. if문 안에 if문을 하나 더 선언하고 num2가 maxnumber(num1) 보다 클 때 num2의 값을 maxnumber로 대입합니다.
  5. 그리고 다시 if문을 하나 더 선언하고 num3가 maxnumber(num2) 보다 클 때 num3의 값을 maxnumber로 대입합니다.
  6. 만약 maxnumber가 즉 num1이었을때 가장 크다면 두 if문의 조건식인 maxnumber와 num2 그리고 maxnumber와 num3를 비교하는 조건이 충족되지 않아 num1이 가장 큰 수로 출력됩니다.
  7. 그리고 모든 숫자가 같은 경우도 조건을 걸어 출력하시면 됩니다.
using System;
using System.Diagnostics.CodeAnalysis;
using System.Drawing;
using System.Numerics;

namespace class2
{
    class MainApp
    {
        static void Main(string[] args)
        {
            Console.WriteLine("세 개의 숫자를 입력하세요");

            Console.Write("첫 번째 숫자 입력 : ");
            int num1 = int.Parse(Console.ReadLine());

            Console.Write("두 번째 숫자 입력 : ");
            int num2 = int.Parse(Console.ReadLine());

            Console.Write("세 번째 숫자 입력 : ");
            int num3 = int.Parse(Console.ReadLine());

           if(num1 != num2 && num2 != num3 && num1 != num3)
           {
                int maxnumber = num1;

                if(num2 > maxnumber)
                {
                    maxnumber = num2;
                }

                if(num3 > maxnumber)
                {
                    maxnumber = num3;
                }

                Console.WriteLine($"세 개의 숫자 중 가장 큰 숫자는 {maxnumber}입니다");
           }

           if(num1 == num2 && num2 == num3 && num1 == num3)
           {
               Console.WriteLine("세 숫자 모두 같습니다");
           }
        }
    }
}

세 개의 숫자가 다를 시 출력 결과
세 개의 숫자가 같을 시 출력 결과

댓글