Python/알고리즘
완전탐색 Level 1 최소직사각형 - python (프로그래머스)
구름용
2023. 6. 23. 16:47
코드
def solution(sizes):
width = []
height = []
answer = 0
for i in range (len(sizes)):
width.append(max(sizes[i]))
height.append(min(sizes[i]))
print(width, height)
answer=max(width)*max(height)
return answer
풀이
해당 문제는 특정 조건에 따라서 가로, 세로로 명함을 회전시킬 수 있다는 조건이 있다. 따라서 해당 기준을 가로로 할 것인지 세로로 할 것인지 정해야 했다.
나는 여기서는 가로를 최대 길이가 오도록 정하였다.(보통 명함은 가로가 더 길기 때문에) 따라서 명함들을 순회하며 가로, 세로 길이 중 가장 긴 값을 width 배열에 저장하고 반대로 세로 길이의 경우 더 작은 값을 height 배열에 담는다.
마지막으로 width에서 가장 긴 가로 길이와 height에서 가장 긴 길이를 택하여 명함을 만들면 된다.