풀이
노란색의 가로길이가 i라고 한다면 i+2는 전체가로길이다. 전체가로길이로 크기를 나눴을때 나머지가 발생한다면
continue를 해준다.
1.노란색의 크기를 i(노란색의 가로길이)로 나누었을때 나머지가 생기지 않고 ,
2.노란색의 세로길이(yellow/i)가 갈색의 세로길이-2랑 같을때
i가 노란색의 가로길이이다.
#include <string>
#include <vector>
using namespace std;
vector<int> solution(int brown, int yellow) {
vector<int> answer;
int total = brown + yellow;
for(int i =1 ;i*i<=yellow; i++){
if(total%(i+2))
continue;
if (!(yellow%i) &&yellow/i==total/(i+2)-2 ){
answer.push_back(total/(i+2));
answer.push_back(i+2);
}
}
return answer;
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 모음사전 c++ (0) | 2024.01.22 |
---|---|
[프로그래머스] 피로도 c++ (0) | 2024.01.22 |
[프로그래머스] 소수찾기 c++ (0) | 2024.01.22 |
[프로그래머스] 모의고사 c++ (0) | 2024.01.19 |
[프로그래머스] H-Index c++ (0) | 2024.01.17 |