-
86491. 최소직사각형(Python, Programmers Level 1)Programmers 2022. 9. 4. 00:24
문제 설명
주어진 명함 종류를 모두 수납할 수 있는 명함 지갑의 최소 크기를 반환하는 문제입니다.
명함마다 다른 w와 h가 주어지며, 명함을 눕혀 보관할 수도 있습니다.
따라서, w와 h 중 작은 수끼리 비교하고, w와 h 중 큰 수끼리 비교하여 최댓값끼리 곱하여 답을 얻을 수 있을 것입니다.
코드
w, h 중 작은 것끼리 비교하여 최댓값을 구하고,
w, h 중 큰 것끼리 비교하여 최댓값을 구합니다.
max_of_small = 0 max_of_big = 0 for w, h in sizes: max_of_small = max(max_of_small, min(w, h)) max_of_big = max(max_of_big, max(w, h))
더보기def solution(sizes): max_of_small = 0 max_of_big = 0 for w, h in sizes: max_of_small = max(max_of_small, min(w, h)) max_of_big = max(max_of_big, max(w, h)) return max_of_small * max_of_big if __name__ == '__main__': result = solution([[60, 50], [30, 70], [60, 30], [80, 40]]) print(4000 == result, result) result = solution([[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]]) print(120 == result, result) result = solution([[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]]) print(133 == result, result)
'Programmers' 카테고리의 다른 글
72410. 신규 아이디 추천(Python, Programmers Level 1) (0) 2022.09.04 77484. 로또의 최고 순위와 최저 순위(Python, Programmers Level 1) (0) 2022.09.04 12906. 같은 숫자는 싫어(Python, Programmers Level 1) (0) 2022.09.04 92334. 신고 결과 받기(Python, Programmers Level 1) (0) 2022.09.04 118666. 성격 유형 검사하기(Python, Programmers Level 1) (0) 2022.09.03