728x90
반응형
프로그래머스 최소 직사각형
1. 문제
2. 접근법
[ 문제 접근 ]
수식만 잘 세우면 풀리는 문제였다.
가장 작은 지갑의 크기를 구하기 위해서는 가로는 입력받은 명함의 가로와 세로 중 큰 값 중 max이고, 세로는 입력받은 명함의 가로와 세로 중 작은 값의 max를 구하면 된다.
3. 코드
#include <string>
#include <vector>
using namespace std;
int solution(vector<vector<int>> sizes) {
int answer = 0;
//r 세로, c 가로
int r = 0, c = 0;
for (auto size : sizes)
{
//세로는 둘 중 작은 값 중에 가장 큰 값
r = max(r, min(size[0], size[1]));
//가로는 둘 중 큰 값 중에 큰 값
c = max(c, max(size[0], size[1]));
}
answer = (r * c);
return answer;
}
4. 시간 복잡도
sizes는 최대 10000까지 입력받으므로 최대 10000번 수행한다.
5. 결과
728x90
반응형
'알고리즘 스터디' 카테고리의 다른 글
[백준] 9663 N-Queen (C++) (0) | 2021.10.15 |
---|---|
[백준] 2234 성곽 (C++) (0) | 2021.10.09 |
[프로그래머스] 단어 변환 (C++) (0) | 2021.10.09 |
[백준] 1174 줄어드는 숫자 (C++) (0) | 2021.10.06 |
[백준] 17129 윌리암슨수액빨이딱따구리가 정보섬에 올라온 이유 (C++) (0) | 2021.10.05 |