카펫

원래벌레·2022년 11월 24일
0

문제


풀이

#include <string>
#include <vector>

using namespace std;

vector<int> solution(int brown, int yellow) {
    vector<int> answer;
    int line=1;
    while(1)
    {
        if(yellow%line==0)
        {
            if((yellow/line+2)*2 + 2*line == brown)
            {
                answer.push_back(yellow/line+2);
                answer.push_back(line+2);
                break;
            }
            else
            {
                line++;
            }
        }
        else
        {
            line++;
        }

    }
    
   
    
    return answer;
}

//중앙에는 노란색이 칠해져있다.
//테두리 한줄은 갈색으로 칠해져있다.
//노란색과 갈색으로 칠해진 격자의 수가 주어짐
//전체 카펫의 크기는 주어지지 않음
//카펫의 가로,세로의 크기를 구해라

//카펫은 가로가 길다. (같을 수도 있다.)

//노랑색이 한줄인경우, 두줄인 경우, 세줄인 경우
//한줄일때 (yellow+2)*2+2
//두줄일때 (yellow/2 + 2)*2+4
//line줄일 때 (yellow/line +2)*2 + 2*line
//세로와 가로가 같거나 가로가 더 클때 line+2 <= yellow/line + 2 

걸린시간 & 힌트사용유무

16분 19초

힌트 사용 X

profile
학습한 내용을 담은 블로그 입니다.

0개의 댓글