어흥

[프로그래머스] 카펫 (C++) 본문

알고리즘/프로그래머스

[프로그래머스] 카펫 (C++)

라이언납시오 2021. 12. 2. 19:55
728x90
반응형

문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42842

 

코딩테스트 연습 - 카펫

Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과

programmers.co.kr

1. 주의할 점

- 2중 For문은 최대한 사용하지 않도록 한다

 

2. 구현

- Brown = 2*(Row-1)+2*(Col-1) 을 통해 rowPlusCol 값을 구한다

- For문을 통해 Row와 Col값을 구하여 Answer에 추가한다

#include <string>
#include <vector>

using namespace std;

vector<int> solution(int brown, int yellow) {
    vector<int> answer;
    int row,col,rowPlusCol;
    rowPlusCol = brown/2+2;
    for(int i=1;i<=rowPlusCol/2;i++){
        col = i;
        row = rowPlusCol-i;
        if(col*row==(brown+yellow)) break;
    }
    answer.push_back(row);
    answer.push_back(col);
    return answer;
}
728x90
반응형
Comments