728x90
https://school.programmers.co.kr/learn/courses/30/lessons/86491
문제 분석
- 주어진 크기의 명함들을 모두 수납할 수 있는 명함지갑의 최소 크기를 구하는 문제
- 일반적으로 생각하면 명함들의 가로세로 길이의 최대값을 곱해주면 되지만 명함은 회전이 가능하다.
아이디어
- 어차피 카드를 돌린다면 더 큰 쪽을 가로, 짧은 쪽을 세로라고 생각하였다.
- 두 리스트( maxW, maxH)를 만들어 주어진 명함들의 가로, 세로 중 큰 값을 maxW에 넣고, 작은 값을 maxH에 넣었다.
- 그리고 각각의 리스트의 최대값을 곱해주면 명함을 전부 넣을 수 있는 최소 명함지갑의 크기가 된다.
정답코드
def solution(sizes):
maxW = []
maxH = []
for i in range(len(sizes)):
if sizes[i][0] >= sizes[i][1]:
maxW.append(sizes[i][0])
maxH.append(sizes[i][1])
else:
maxW.append(sizes[i][1])
maxH.append(sizes[i][0])
return max(maxW) * max(maxH)
'알고리즘 > 프로그래머스 문제풀이' 카테고리의 다른 글
프로그래머스 최솟값 만들기(lv2, Python) (0) | 2023.02.24 |
---|---|
프로그래머스 올바른 괄호(lv2, Python) (0) | 2023.02.24 |
프로그래머스 - 소수찾기 (Python) (0) | 2023.02.21 |
프로그래머스 lv2 괄호 회전하기(kotlin) (0) | 2023.02.14 |
프로그래머스 lv2 - 타겟넘버(Kotlin) (0) | 2023.02.03 |