반응형
문제출처
https://programmers.co.kr/learn/courses/30/lessons/42842
문제를 읽으면 빨간색은 갈색으로 둘러쌓여있다고 한다. 즉 카펫의 가로,세로가 3이상이라는 뜻이다. 또한 빨간타일을 구할때는 위,아래 row와 왼쪽,오른쪽 col을 제외한 크기를 곱하면 빨간타일의 갯수가 나온다.
소스코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #include <string> #include <vector> #include <math.h> using namespace std; vector<int> solution(int brown, int red) { vector<int> answer; int sum=brown+red; int limit=(int)sqrt(sum); for(int i=3; i<=limit; i++) { if(sum % i ==0) { int tmp = sum/i; //전체 카펫 위,아래 row 왼쪽,오른쪽 col을 제외하고 곱하면 red타일의 갯수가 나온다. if((tmp-2) * (i-2) == red) { answer.push_back(tmp); answer.push_back(i); break; } } } return answer; } | cs |
반응형
'Algorithm' 카테고리의 다른 글
[카카오 2019] 코딩테스트 - 오픈채팅방 (0) | 2019.01.03 |
---|---|
[카카오 2019] 코딩테스트 - 실패율 (0) | 2019.01.03 |
[프로그래머스 43162] 네트워크 (0) | 2019.01.01 |
[BOJ 6603] 로또 (0) | 2018.12.31 |
[BOJ 2667] 단지번호붙이기 (0) | 2018.12.31 |