# 첨 답지 안보고 짠 코드

# 처음으로 짠 코드

def sort(a, b, c):
  temp = [a, b, c]
  temp.sort(reverse=True)
  sto = temp
  return sto
  
def cal(a, b, c):
  if a == b == c :
    print("Equilateral")  
  elif a == b or a == c or c == b:
    print("Isosceles")
  elif a != b != c :
    temp1 = sort(a, b, c)
    if temp1[0] >= temp1[1] + temp1[2]:
      print("Invalid")
    else:
      print("Scalene")
  
    
def main():
  while True:
    a, b, c = map(int, input().split())
    if a == 0 and b == 0 and c == 0 :
      break
    else: 
      cal(a, b, c)
      
if __name__ == "__main__": 
  main()

# 정답지

while 1:
    li = sorted(list(map(int, input().split())))
    if li[0] == li[1] == li[2] == 0:
        break
    if li[0]+li[1] <= li[2]:
        print("Invalid")
    elif li[0] == li[1] == li[2]:
        print("Equilateral")
    elif li[0]==li[1] or li[1]==li[2] or li[2]==li[0]:
        print("Isosceles")
    else:
        print("Scalene")

 

처음 코드를 짤 때는 조금 더 다양하게 시도하고자 했던 게 많은 시간이 걸렸다. 결국 코드는 작동되지만, 코드를 간략화 하는게 역시 최고인 것 같다.

 

정답지 코드는 처음 들어갈 때 부터 애초에 Sort를 진행하고 난뒤에 문제를 푸니 훨씬 더 비교하기 수월해졌음.

 

# 최종

def cal():
  while 1:
    li = sorted(list(map(int, input().split())))
    if li[0] == li[1] == li[2] == 0:
       break
    if li[0]+li[1] <= li[2]:
       print("Invalid")
    elif li[0] == li[1] == li[2]:
       print("Equilateral")
    elif li[0]==li[1] or li[1]==li[2] or li[2]==li[0]:
       print("Isosceles")
    else:
       print("Scalene")
  
def main(): 
 cal()
      
if __name__ == "__main__": 
  main()

 

'CoTe > Before CoTe' 카테고리의 다른 글

줄세우기[10431]  (0) 2023.04.10
돌 게임[9655]  (0) 2023.04.10
집합(11723)  (0) 2023.04.09
단어 공부(1157)  (0) 2023.03.27
ZOAC 4(23971)  (0) 2023.03.15

+ Recent posts