본문 바로가기
Algorithm/완전탐색

[프로그래머스] 카펫

by 루시킴 2021. 9. 9.

https://programmers.co.kr/learn/courses/30/lessons/42842

 

코딩테스트 연습 - 카펫

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

programmers.co.kr

 

완전 탐색으로 어렵지 않게 구현하였다.

#include <iostream>
#include <string>
#include <vector>
using namespace std;

vector<int> solution(int brown, int yellow) {
    vector<int> answer;
	int N,M; //세로길이, 가로길이
	for (int i = 1; i <= yellow; i++){ //테두리 제외 
		if (yellow % i == 0) {//24라면 1X24, 2X12 , 3X8, 4X6 
			N = i;
			M = yellow / i;
		}
		int tmp = 2 * (N + M + 2); //현재 상태에서 테두리 수
		if (tmp == brown) { //주어진 테두리수와 같다면 
			answer.push_back(M + 2); answer.push_back(N + 2);
			break;
		}
	}
    return answer;
}

댓글