본문 바로가기
코딩테스트/Beakjoon

백준 10101번 : 삼각형 외우기 [Python]

by 나스나키 2024. 1. 20.
728x90

https://www.acmicpc.net/problem/10101

 

10101번: 삼각형 외우기

문제의 설명에 따라 Equilateral, Isosceles, Scalene, Error 중 하나를 출력한다.

www.acmicpc.net

 

 

문제 

창영이는 삼각형의 종류를 잘 구분하지 못한다. 따라서 프로그램을 이용해 이를 외우려고 한다.

삼각형의 세 각을 입력받은 다음, 

  • 세 각의 크기가 모두 60이면, Equilateral
  • 세 각의 합이 180이고, 두 각이 같은 경우에는 Isosceles
  • 세 각의 합이 180이고, 같은 각이 없는 경우에는 Scalene
  • 세 각의 합이 180이 아닌 경우에는 Error

를 출력하는 프로그램을 작성하시오.

 
 

입력

총 3개의 줄에 걸쳐 삼각형의 각의 크기가 주어진다. 모든 정수는 0보다 크고, 180보다 작다.

 
 
 

출력

문제의 설명에 따라 Equilateral, Isosceles, Scalene, Error 중 하나를 출력한다.

 

 

예시

 

코드

num = []
for i in range(3):
    num.append(int(input()))
if sum(num) != 180:
    print("Error")
    exit(0)
else:
    num = list(set(num))
    if len(num) == 1:
        print("Equilateral")
        exit(0)
    elif len(num) == 2:
        print("Isosceles")
        exit(0)
    elif len(num) == 3:
        print("Scalene")
        exit(0)

 

 

코드 해석

  • 수들을 담을 num이라는 list를 생성해준.
  • 3 수들 num에 넣는다. 
  • 만약 합이 180이 아니라면 Error를 출력한다.
  • num의 중복을 제거한다.
  • 만약 num의 길이가 1 이라면 Equilateral 출력한다.
  • 만약 num의 길이가 2 이라면 Isosceles 출력한다.
  • 만약 num의 길이가 3 이라면 Scalene 출력한다.

728x90