C#

백준 C# 5073 문제 풀이

psb08 2024. 10. 26. 17:37
728x90

문제 링크 : https://www.acmicpc.net/problem/5073

목차

1. 설명

 

2. 내 코드

 

3. 문제 풀이 해석 내용

 

4. 실행 결과

 

설명

백준 브론즈 3 문제 입니다.

문제명 : 삼각형과 세 변

 

내 코드

while (true)
{
    int[] input = Array.ConvertAll(Console.ReadLine().Split(' '), int.Parse);

    Array.Sort(input);

    if (input.Contains(0))
        return;

    if (input[2] >= input[0] + input[1])
        Console.WriteLine("Invalid");
    else
    {
        if (input[0] == input[1] && input[1] == input[2])
            Console.WriteLine("Equilateral");
        else if (input[0] == input[1] || input[1] == input[2] || input[2] == input[0])
            Console.WriteLine("Isosceles");
        else
            Console.WriteLine("Scalene");
    }
}

 

문제 풀이 해석 내용

 

무한 루프 시작

while (true)
{

프로그램이 계속해서 사용자 입력을 받기 위해 무한 루프를 시작합니다.

 

 

입력 처리

int[] input = Array.ConvertAll(Console.ReadLine().Split(' '), int.Parse);

사용자로부터 입력받은 문자열을 공백으로 구분하여 정수 배열 input으로 변환합니다.

 

 

오름차순 정렬

Array.Sort(input);

input 배열을 오름차순으로 정렬합니다. 

이렇게 하면 가장 작은 값이 input[0], 중간 값이 input[1], 가장 큰 값이 input[2]에 위치하게 됩니다.

 

 

종료 조건

if (input.Contains(0))
    return;

만약 입력값 중에 0이 포함되어 있다면, 프로그램을 종료합니다.

 

 

삼각형 유효성 검사

if (input[2] >= input[0] + input[1])
    Console.WriteLine("Invalid");

가장 큰 변(input[2])이 나머지 두 변(input[0]과 input[1])의 합보다 크거나 같으면, 유효한 삼각형이 아니므로 "Invalid"를 출력합니다.

 

 

삼각형 종류 판별

else
{
    if (input[0] == input[1] && input[1] == input[2])
        Console.WriteLine("Equilateral");
    else if (input[0] == input[1] || input[1] == input[2] || input[2] == input[0])
        Console.WriteLine("Isosceles");
    else
        Console.WriteLine("Scalene");
}

유효한 삼각형인 경우:
   모든 변의 길이가 같은 경우 "Equilateral" (정삼각형)을 출력합니다.
   두 변의 길이가 같은 경우 "Isosceles" (이등변삼각형)을 출력합니다.
   세 변의 길이가 모두 다른 경우 "Scalene" (부등변삼각형)을 출력합니다.

 

실행 결과

실행 결과

 

728x90

'C#' 카테고리의 다른 글

백준 C# 24264 문제 풀이  (0) 2024.10.28
백준 C# 24263문제 풀이  (0) 2024.10.27
백준 C# 14215 문제 풀이  (0) 2024.10.25
백준 C# 9063 문제 풀이  (0) 2024.10.23
백준 C# 3009 문제 풀이  (0) 2024.10.22