문제 풀기 전 당부사항
본 문제는 제가 직접 만든 문제입니다. 문제를 만들기 위해 여러 코딩테스트 사이트와 서적 등에서 참고만 할 뿐, 문제를 그대로 가져다 쓰지 않았습니다. 프로젝트 템플릿은 콘솔 앱으로 만들어 주시기 바랍니다.
문제 설명 : 세 개의 숫자를 입력받아 모든 숫자가 서로 다른 경우 가장 큰 숫자를 출력하세요. 그리고 모든 숫자가 같은 경우 "세 숫자 모두 같습니다"를 출력하세요
해설 및 풀이
- 세 개의 숫자를 입력받아야 해서 정수형 변수 세 개를 선언 후 입력을 받습니다.
- 첫 번째 조건에 따라 if 조건식에 세 개의 숫자가 모두 다를 경우의 조건을 걸어줍니다.
- 그리고 if문 안에서 임의의 변수 하나를 선언해 줍니다. 이 변수에 num1을 대입하고 num1이 가장 큰 숫자라고 가정하겠습니다.
- if문 안에 if문을 하나 더 선언하고 num2가 maxnumber(num1) 보다 클 때 num2의 값을 maxnumber로 대입합니다.
- 그리고 다시 if문을 하나 더 선언하고 num3가 maxnumber(num2) 보다 클 때 num3의 값을 maxnumber로 대입합니다.
- 만약 maxnumber가 즉 num1이었을때 가장 크다면 두 if문의 조건식인 maxnumber와 num2 그리고 maxnumber와 num3를 비교하는 조건이 충족되지 않아 num1이 가장 큰 수로 출력됩니다.
- 그리고 모든 숫자가 같은 경우도 조건을 걸어 출력하시면 됩니다.
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("세 숫자 모두 같습니다");
}
}
}
}
'C# 코딩챌린지 > C# 코딩테스트 문제' 카테고리의 다른 글
C# 코딩테스트 문제 : 메소드를 연습해보자(1) (0) | 2024.03.29 |
---|---|
C# 코딩테스트 문제 : 2차원 배열을 이용한 문제 (0) | 2024.03.24 |
C# 코딩테스트 문제 : 아이디와 패스워드 입력 후 형변환 해보기 (0) | 2024.03.18 |
C# 코딩테스트 문제 : 메소드를 이용해 계산기 만들어보기 (0) | 2024.03.14 |
C# 코딩테스트 문제 : string 문자열을 이용해 자기소개 해보기 (0) | 2024.03.14 |
댓글