관리 메뉴

솜씨좋은장씨

[BaekJoon] 20949번 : 효정과 새 모니터 (Python) 본문

Programming/코딩 1일 1문제

[BaekJoon] 20949번 : 효정과 새 모니터 (Python)

솜씨좋은장씨 2022. 9. 20. 19:25
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 백준의 효정과 새 모니터 입니다.

 

20949번: 효정과 새 모니터

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

www.acmicpc.net

👨🏻‍💻 코드 ( Solution )

def get_ppi(W, H, D=77):
    return pow(pow(W, 2) + pow(H, 2), 0.5) / D


def check_monitor_ppi(monitor_info_list):
    check_result = {}
    
    for monitor_idx, monitor_info in enumerate(monitor_info_list, start=1):
        monitor_ppi = get_ppi(
            W=monitor_info[0], H=monitor_info[1]
        )
        
        check_result[monitor_idx] = monitor_ppi
        
    return check_result.items()
        
    
def sort_monitor_list_by_ppi(monitor_ppi_info_items):
    return sorted(monitor_ppi_info_items, key=lambda x: (-x[1], x[0]))


def print_answer(answer):
    for ans in answer:
        print(f"{ans[0]}")


if __name__ == "__main__":
    monitor_info_list = []
    
    for _ in range(int(input())):
        W, H = map(int, input().split())
        
        monitor_info_list.append((W, H))
        
    monitor_check_result = check_monitor_ppi(
        monitor_info_list=monitor_info_list
    )
    
    monitor_check_result = sort_monitor_list_by_ppi(
        monitor_ppi_info_items=monitor_check_result
    )
    
    print_answer(answer=monitor_check_result)
 

GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments