파이썬 백준 1297번
브론즈 2
https://www.acmicpc.net/problem/1297
문제 보기
분류: 기하학, 피타고라스 정리
문제 풀기
피타고라스 정리를 이용하여 방정식을 만들고, 세로 가로에 적용되어야 할 배수를 기준으로 정리를 한다.
주어진 입력값 D, H, W 를 대입하여 배수 multiplier 를 계산하고, 이것을 높이, 너비에 각각 곱하여 실제 길이를 구한다.
소수점 결과에 대하여 대응하기 위해 math 라이브러리를 불러오고 내림 메서드인 floor() 를 적용하여 소수점을 제거한다.
코드 보기
import sys
inputdata = sys.stdin.readline
import math
def fnHeightWidth(D, H, W):
multiplier = (D**2 / (H**2 + W**2)) ** (1/2)
height = multiplier * H
# print(height) # test print
width = multiplier * W
# print(width) # test print
print(math.floor(height), math.floor(width))
if __name__ == "__main__":
D, H, W = map(int, inputdata().split())
fnHeightWidth(D, H, W)
'공부하기 > 백준' 카테고리의 다른 글
[Python] 백준 풀기 10824 - 네 수 (0) | 2022.12.14 |
---|---|
[Python] 백준 풀기 2527 - 직사각형 (0) | 2022.12.13 |
[Python] 백준 풀기 1080 - 행렬 (0) | 2022.12.11 |
[Python] 백준 풀기 2217 - 로프 (0) | 2022.12.10 |
[Python] 백준 풀기 1789 - 수들의 합 (0) | 2022.12.09 |