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 |