-
카펫프로그래머스(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라는 제한사항을 넣어주어야하는 문제입니다.
=> 해당문제에는 제한사항이 안적혀있어 질문에 있는 팁을 보고 풀었습니다.
=> 원문제에는 해당 제한사항이 적혀있다고 합니다.
반응형