본문 바로가기

개발 관련 기타/알고리즘

[프로그래머스] (C++) 카펫

문제

  • 문제는 이 곳에 가면 보실 수 있습니다.

힌트

  • 테두리는 내부 블록에 의해 결정된다.

소스 코드

// [프로그래머스]
// 카펫

#include <string>
#include <vector>
#include <iostream>

using namespace std;

vector<int> solution(int brown, int red) {
  vector<int> answer;
  int length;
  int width;
  int numBrown;
  int numCorner = 4;
  for (int i = 1; i <= red; i++) {
    if (red % i == 0) {
      width = i;
      length = red / i;
      numBrown = width * 2 + length * 2 + numCorner;
      if (brown == numBrown) break;
    }
  }
  answer.push_back(length+2);
  answer.push_back(width+2);
  return answer;
}