본문 바로가기
알고리즘/백준 solved.ac PS

[백준][solved.ac][Silver 5][Python] 20949번 : 효정과 새 모니터

by 빛밤하늘 2021. 5. 6.
반응형

밑의 링크는 백준에서의 문제 링크입니다.

 

20949번: 효정과 새 모니터

효정은 새해를 맞이하여 새 모니터를 구매하고자 한다. 효정은 돈이 많기 때문에 77인치 모니터를 구매할 것이다. 모니터를 구경하던 효정은 놀라 자빠질 수밖에 없었다. 모니터가 너무 많아 고

www.acmicpc.net

 

 

 

 

 

 

 

파이썬 코드와 결과입니다.

# sqrt 함수를 사용하기 위해 import 해줍니다.
from math import sqrt

# 첫 번째 줄에 모니터의 개수 N을 입력합니다.
# 1 <= N <= 1,000
# 정수입니다.
N = int(input())

# 각 모니터의 번호와 PPI를 저장할 리스트 변수를 선언합니다.
monitors = []

# 모니터의 개수 N만큼 반복해봅니다.
for monitor_index in range(N):
    # i번 모니터의 가로 픽셀 수 Wi, 세로 픽셀 수 Hi를 공백으로 구분해 입력합니다.
    # 1 <= Wi, Hi <= 30,000 
    # 정수입니다.
    Wi, Hi = map(int, input().split(' '))
    # PPI를 계산하는 공식의 결과를 저장하는 변수를 선언합니다.
    # 문제에서 77인치 모니터를 구매할 것이라고 했으므로 D는 77입니다.
    PPI = sqrt(Wi ** 2 + Hi ** 2) / 77

    # 이번 모니터의 모니터 번호, PPI를 리스트로 만들고, monitors에 넣어줍니다.
    monitors.append([monitor_index + 1, PPI])

# monitors 내부의 값들을 PPI가 높은 순인 내림차순으로 먼저 정렬하고,
# PPI가 동일한 경우에는 모니터의 번호가 더 작은 순인 오름차순으로 정렬합니다.
monitors.sort(key=lambda monitor: (-monitor[1], monitor[0]))

# 출력 형식에 맞게 각 모니터의 번호를 출력합니다.
for monitor in monitors:
    print(monitor[0])

결과

 

 

 

※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.

※ 더 효율적이고 빠른 정답을 환영합니다.

반응형

댓글