●문제

●입출력

문제풀이 : 가로길이, 세로길이의 지갑이 주어질때 최소한의 지갑 크기를 return
푼방법 : 세로 > 가로 일때 서로 swap
swap한뒤 가로와 세로의 가장 큰값을 서로 곱한뒤 값을 return
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int solution(vector<vector<int>> sizes)
{
//가로와 세로중에 세로가 더 길다면 해당 번호의 위치를 swap 즉 가로 < 세로 일시 swap
//가로 max와 세로 max를 곱한값을 return
for (int i = 0; i < sizes.size(); i++)
{
//만약 세로가 더 길다면 swap
if (sizes[i][0] < sizes[i][1])
{
swap(sizes[i][0], sizes[i][1]);
}
}
int maxWidth = 0;
int maxHeight = 0;
int answer = 0;
for (int i = 0; i < sizes.size(); i++)
{
maxWidth = max(maxWidth, sizes[i][0]);
maxHeight = max(maxHeight, sizes[i][1]);
}
answer = maxWidth * maxHeight;
return answer;
}
레벨 : 1
점수 : 1
-----
후기 : 분명 완전탐색 알고리즘에 있는 문제인데 그리디 문제같다 이게 왜 완전탐색 문제인가..???
'C++ 프로그래머스 > Exhaustive search' 카테고리의 다른 글
| 프로그래머스(C++) - 피로도 (0) | 2025.08.29 |
|---|---|
| 프로그래머스(C++) - 카펫 (0) | 2025.08.29 |
| 프로그래머스(C++) - 소수 찾기 (0) | 2025.08.26 |
| Algorithm - Exhaustive search (완전탐색) (0) | 2025.08.26 |
