백준 #4153번 직각삼각형 (with python)

휴먼시아·2024년 7월 26일

Algorithm

목록 보기
1/5

백준 #4153번 직각삼각형(기하학)

난이도 브론즈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





글로벌소프트웨어캠퍼스와 교보DTS가 함께 진행하는 챌린지입니다.

#내맘대로TIL챌린지 #교보DTS #클라우드교육 #글로벌소프트웨어캠퍼스 #GSC신촌

profile
코(딩)찔찔이 성장기

2개의 댓글

comment-user-thumbnail
2024년 7월 26일

헉! 모범답안까지 비교해주는 센스!! 파이썬 마스터가 되시는 날까지 응원하겠습니다~!

답글 달기
comment-user-thumbnail
2024년 7월 26일

당신 멋져

답글 달기