본문 바로가기

Python(알고리즘,문제풀이)/BOJ(Bronze II)

백준 / 1297번 / TV크기 / Python / 피타고라스정리

728x90

📚문제

출처 : 백준 1297번(https://www.acmicpc.net/problem/1297)


📝풀이

# 1297번 TV 크기(Bronze II)
import math
d,h,w = map(int,input().split())

# TV 너비(가로) : x / TV 높이(세로) : y
x = (w*d)/math.sqrt((h**2)+(w**2))
y = (h*d)/math.sqrt((h**2)+(w**2))
# y = (h*x)/w

print(int(y),int(x))

x와 y를 각각 가로/세로 중 어떤 것으로 정할지,

출력은 높이/너비순으로 해야한다는 것을 주의하고 풀어야한다

이것 때문에 오답도 여러번 나고 애를 먹었다..

 

높이 / 너비 비율(x:y=w:h)을 식에 대입하여 풀면 

x와 y에 대한 형태로 식이 전개가 된다

 

이렇게 x와 y에 대해서

각각 풀어줘도 되고 

한쪽 값이 나오면 그 값을

높이 / 너비 비율 식(x:y=w:h)에 대입해서 풀어도 정답이 나온다

728x90