[C++] 프로그래머스 Level 2 : 카펫

Kim Nahyeong·2022년 9월 21일
0

프로그래머스

목록 보기
26/38

#include <string>
#include <vector>

using namespace std;

vector<int> solution(int brown, int yellow) {
    vector<int> answer;
    
    int sum = brown + yellow;
    
    for(int i = 1; i <= sum; i++){
        if((i - 2) * (sum / i - 2) == yellow){
            answer.push_back(sum / i);
            answer.push_back(i);
            break;
        }
    }
    
    return answer;
}

마땅한 수학적 사고가 생각이 나지 않아서 인터넷을 참고하여 풀었다.

전체 블록 수를 가지고 내부에 해당하는 블록수를 역으로 생각해내다니 너무 똑똑함...

생각할 때는 정말정말 안 풀렸는데 한 번 해결법을 아니까 또 엄청 짧은 코드로 해결할 수 있네 허무하다.

0개의 댓글