728x90
위클리챌린지 : 최소직사각형
https://programmers.co.kr/learn/courses/30/lessons/86491?language=cpp
코드
//프로그래머스 최소직사각형
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int solution(vector<vector<int>> sizes) {
int answer = 0;
int max_col = 0;
int max_row = 0;
for (int i = 0; i < sizes.size(); i++) {
max_col = max(max_col, min(sizes[i][0], sizes[i][1]));
max_row = max(max_row, max(sizes[i][0], sizes[i][1]));
}
answer = max_col * max_row;
return answer;
}
int main() {
vector<vector<int>> sizes = { {60,50}, {30,70}, {60,30}, {80,40} };
cout << solution(sizes) << "\n";
return 0;
}
고찰
걸린시간 : 10분
문제를 보고 바로 어떻게 풀어야할지 생각나지 않았지만 다시 문제를 읽고 생각해보니 풀이가 떠올랐다. 처음 구현하였을때는 가로 길이가 길고 세로길이는 짧도록 정렬을 한 후 가로 길이에서 가장 긴 길이, 세로 길이에서 가장 긴 길이를 구하였지만 다른 사람의 풀이는 정렬을 굳이하지 않고 가로 길이 세로 길이 중 짧은 거 중에서 가장 긴 길이, 가로 길이 세로 길이 중 긴 거 중에서 가장 긴 길이 하여 값을 구할 수 있었다.
728x90
'알고리즘 > 프로그래머스' 카테고리의 다른 글
알고리즘(C++) / 프로그래머스 level 3 : 등굣길 (0) | 2021.09.29 |
---|---|
알고리즘(C++) / 프로그래머스 level 3 : 정수 삼각형 (0) | 2021.09.28 |
알고리즘(C++) / 프로그래머스 level 3 : 가장 긴 팰린드롬 (0) | 2021.09.24 |
알고리즘(C++) / 프로그래머스 level 2 : JadenCase 문자열 만들기 (0) | 2021.09.21 |
알고리즘(C++) / 프로그래머스 level 2 : H-Index (0) | 2021.09.17 |
댓글