난이도 브론즈3
"직각삼각형을 확인하는 문제이니 피타고라스 정의로 접근하면 되겠군!"
알고 있는 문법과 함수가 많지 않은 단계이기 때문에 직관적인 관점에서 접근하여 코드를 작성해보았다.
while True:
a,b,c = map(int, input().split())
if a==b==c==0:
break
else:
x = max(a,b,c)
y = min(a,b,c)
z = (a+b+c)-x-y
if (y**2 + z**2) == x**2:
print("right")
else:
print("wrong")

결과는 성공✌
이 문제는 쉬운 난이도의 문제이기 때문에 나처럼 코드를 작성해도 되지만, 이후 어렵고 복잡한 문제에 접근할 때는 좋은 풀이 방법이 아니라고 한다.
그렇다면 어떻게 작성하는 것이 좋을까?
def 로 함수를 정의하자!!
def 함수_이름 (매개변수)
그럼 이제 고수의 모범답안을 확인해 보자!
def check_tri(tri):
if tri[-1] **2 == tri[0] ** 2 + tri[1]:
return True
else:
return False
while True:
a,b,c = map(int, input().split())
if a == 0 and b == 0 and c == 0:
break
if check_tri(sorted([a, b, c])):
print("right")
else:
print("wrong")
간단한 기본 코드와 피타고라스 정의만 알고 있다면 쉽게 접근해 볼 수 있는 문제였다.
하지만 고수의 풀이를 보니 갈길이 멀어보이긴 한다.
https://www.acmicpc.net/problem/4153
#내맘대로TIL챌린지 #교보DTS #클라우드교육 #글로벌소프트웨어캠퍼스 #GSC신촌
헉! 모범답안까지 비교해주는 센스!! 파이썬 마스터가 되시는 날까지 응원하겠습니다~!