728x90
문제
https://school.programmers.co.kr/learn/courses/30/lessons/86491
코드
def solution(sizes):
max_width = 0
max_height = 0
for card in sizes:
width, height = sorted(card)
max_width = max(max_width, width)
max_height = max(max_height, height)
return max_width * max_height
sorted를 통해서 width와 height 둘 중 큰 수를 앞으로
max를 통해서 가장 큰 값들을 뽑아낸다
다른 사람 코드
solution = lambda sizes: max(sum(sizes, [])) * max(min(size) for size in sizes)
sizes, []는 2차원 배열을 1차원으로 펼치기 위해 사용하고 펼친 뒤 가장 큰 값(가장 큰 가로나 세로의 길이), max(min)size는 가장 짧은 길이 중 가장 큰 값을 찾습니다.
def solution(sizes):
flattened_sizes = sum(sizes, [])
max_width = max(min(size) for size in sizes)
return max_width * max(flattened_sizes)
접근법
배운 점
sizes = [[60, 50], [30, 70], [60, 30], [80, 40]]
result = sum(sizes, [])
#[60, 50, 30, 70, 60, 30, 80, 40]
'자료구조&알고리즘 > 프로그래머스' 카테고리의 다른 글
[Python] 소수찾기 - 완전탐색 (0) | 2024.02.15 |
---|---|
[Python] 모의고사 - 완전탐색 (0) | 2024.02.15 |
[Python] H_Index - 정렬 (0) | 2024.02.13 |
[Python] 가장 큰 수 - 정렬 (0) | 2024.02.13 |
[Python] 이중우선순위 큐 - 힙 (0) | 2024.02.12 |