[프로그래머스] 카펫
Programmers - [완전탐색] 카펫
사용 언어 - C++
소요 시간 - 35분
정답 여부 - O
문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/42842
문제 요약
- 카펫의 테두리 부분인 갈색의 개수 brown이 주어짐
- 카펫의 가운데 부분인 노란색의 개수 yellow가 주어짐
- 이 때 카펫의 가로 세로 길이를 구해서 return
ex)
brown = 10
yellow = 2
❤️❤️❤️❤️
❤️⭐⭐❤️
❤️❤️❤️❤️
brown = 8
yellow = 1
❤️❤️❤️
❤️⭐❤️
❤️❤️❤️
brown = 24
yellow = 24
❤️❤️❤️❤️❤️❤️❤️❤️
❤️⭐⭐⭐⭐⭐⭐❤️
❤️⭐⭐⭐⭐⭐⭐❤️
❤️⭐⭐⭐⭐⭐⭐❤️
❤️⭐⭐⭐⭐⭐⭐❤️
❤️❤️❤️❤️❤️❤️❤️❤️
최종 코드
#include <string>
#include <vector>
#include <cmath>
using namespace std;
vector<int> solution(int brown, int yellow) {
vector<int> answer;
int carpet = brown + yellow;
for(int h = 3; h <= sqrt(carpet); h++)
{
if(carpet % h == 0)
{
int w = carpet / h;
if((w - 2) * (h - 2) == yellow)
{
answer.push_back(w);
answer.push_back(h);
break;
}
}
}
return answer;
}
트러블 슈팅
문제 풀이 후 소감
- 다른 걸 하느라 바쁘기도 했고 팔꿈치 수술도 해서 일주일간 코테를 손도 못댔다. 그래서 실력이 조금 떨어진 것 같았다(별 거 없는 실력이긴 하지만..ㅎㅎ)
- 내일부터 프로젝트에 들어가기 때문에 일주일에 2~3문제는 풀 수 있도록 해야겠다. 내 루틴도 루틴이지만 내 블로그를 읽는게 루틴이 된 사람이 있는 것 같아서 조금 더 열심히 해봐야겠다..ㅎㅎ