무식해 보여도 사실은 최고의 방법일 때가 있지요.
완전 탐색?
모든 가능한 경우의 수를 시도하여 원하는 결과를 찾는 알고리즘 기법.
브루트 포스(Brute Force)라고도 함.
경우의 수가 많거나 입력 크기가 큰 경우에는 계산 비용이 높아질 수 있다.
완전 탐색은 작은 규모의 문제나 기준이 명확한 경우에 유용함.
해결 흐름
1. 가로나 세로 중에서 가장 큰 값이 다음 직사각형의 가로나 세로 값보다 작으면 교체 -> 즉 가장 큰 값을 찾아야함
2. 만약 가로 값이 가장 큰 값 일때, 세로 값도 다른 직사각형의 세로 값보다 커야함 -> 즉 작은 값들중 가장 큰 값을 찾아야함
3. 직사각형들 중에서 하나의 직사각형 가로나 세로중 더 큰 값들 중에 가장 큰 값 * 작은 값들 중에서 큰 값
코드
def solution(sizes):
max_value = max(max(size[0], size[1]) for size in sizes)
min_value = max(min(size[0], size[1]) for size in sizes)
return max_value * min_value
'Development > PS' 카테고리의 다른 글
[Hash] 프로그래머스 level 1 완주하지 못한 선수 python 풀이 (1) | 2023.11.09 |
---|---|
[정렬] 프로그래머스 level 2 H-Index python 풀이 (0) | 2023.11.06 |
[Heap] 프로그래머스 level 2 더 맵게 java 풀이 (0) | 2023.09.19 |
[정렬] 프로그래머스 level 2 가장 큰 수 python, java 풀이 (0) | 2023.09.17 |
[Hash] 프로그래머스 level 1 폰켓몬 Java 풀이 (0) | 2023.09.12 |