ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 카펫
    프로그래머스(Programmers) 2021. 11. 13. 01:54
    반응형

    문제설명

     

    제한사항

    • 갈색 격자의 수 brown은 8 이상 5,000 이하인 자연수입니다.
    • 노란색 격자의 수 yellow는 1 이상 2,000,000 이하인 자연수입니다.
    • 카펫의 가로 길이는 세로 길이와 같거나, 세로 길이보다 깁니다.

     

    입출력 예

    brown                                              yellow                                                 return

    10 2 [4, 3]
    8 1 [3, 3]
    24 24 [8, 6]

     

     

     

    #include <string>
    #include <vector>
    
    using namespace std;
    
    vector<int> solution(int brown, int yellow) {
        vector<int> answer;
        int area = brown + yellow; 
        
        for(int width =1; width <= area/2; width++ )
        {
            for(int height =1; height <= width; height++)
            {
                int mul = width*height;
                if(mul == area)
                {
                    if( (width-2)*(height-2) ==yellow )
                    {
                      answer.push_back(width);  answer.push_back(height);
                      break;
                    }
                    else continue;
                } 
            }
            if(!answer.empty()) break;
        }
        
        return answer;
    }

     

     

    => 문제에 주어진대로 풀면 되는 문제입니다. (완전탐색)

     

    => (WIDTH-2) * (HEIGHT-2) = yellow라는 제한사항을 넣어주어야하는 문제입니다. 

     

    => 해당문제에는 제한사항이 안적혀있어 질문에 있는 팁을 보고 풀었습니다. 

     

    => 원문제에는 해당 제한사항이 적혀있다고 합니다. 

     

     

     

     

    정답화면

     

    반응형

    '프로그래머스(Programmers)' 카테고리의 다른 글

    음양더하기  (0) 2021.11.17
    단어변환  (0) 2021.11.15
    소수만들기  (0) 2021.11.10
    신규아이디 추천  (0) 2021.11.09
    최소직사각형  (0) 2021.10.14

    댓글

Designed by Who.