# 첨 답지 안보고 짠 코드
# 처음으로 짠 코드
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 |