반응형
#include <string>
#include <vector>
#include <queue>
using namespace std;
vector<int> solution(int brown, int yellow) {
vector<int> answer;
int MaxCount = brown + yellow;
int Height = 1;
// 여기서 Width를 MaxCount부터 --하는 이유는 제한사항에
// 가로길이는 세로 길이와 같거나 길기때문이다
// 1부터 증감연산자를 이용해 반복문을 돌게되면 ex : 8 * 6이 아니라 6 * 8이 됨
for(int Width = MaxCount; Width > 0; --Width)
{
Height = MaxCount / Width;
// 갈색 격자는 무조건 사이드에 배치되어 있기 때문에
// Height과 Width -2를 곱한값이 노랑격자의 개수와 같은지를 판단하면 된다.
if(((Height - 2) * (Width - 2)) == yellow)
{
answer.push_back(Width);
answer.push_back(Height);
break;
}
}
return answer;
}
반응형
'프로그래머스 > lv2' 카테고리의 다른 글
프로그래머스 : 멀리 뛰기 (lv2) (0) | 2022.10.06 |
---|---|
프로그래머스 : 짝지어 제거하기 (lv2) (0) | 2022.10.06 |
프로그래머스 : 다음 큰 숫자 (lv2) C++ (2) | 2022.10.06 |
프로그래머스 : 숫자의 표현 (lv2) C++ (0) | 2022.10.06 |
프로그래머스 : 올바른 괄호 (lv2) C++ (0) | 2022.10.06 |
댓글