https://school.programmers.co.kr/learn/courses/30/lessons/42842
#include <string>
#include <vector>
using namespace std;
vector<int> solution(int brown, int yellow) {
vector<int> answer;
/*
가로 a, 세로 b일 때
테두리의 타일 개수: 2 * a + (b-2) * 2 = 2 *a + 2 * b - 4 = brown
가운데 노란색의 타일 개수 = a * b - brown = yellow
i * b - (2*i + 2*b -4) = yellow
(i - 2) * b = yellow + 2*i -4
정리하면,
a * b - brown = yellow
a * b = brown + yellow
*/
for(int i=1; i<=5000; i++){//가로의 길이
for(int j=1; j<=i; j++){
if(2 * i + 2 * j - 4 == brown){
if(i * j - brown == yellow){
answer.push_back(i);
answer.push_back(j);
return answer;
}
}
}
}
return answer;
}
'Coding Test > Programmers' 카테고리의 다른 글
[Programmers] (2017 팁스타운) Lv 2. 예상 대진표 (0) | 2023.05.31 |
---|---|
[Programmers] (탐욕법(Greedy)) Lv 2. 구명보트 (0) | 2023.05.30 |
[Programmers] Summer/Winter Coding(~2018) Lv 2. 영어 끝말잇기 (0) | 2023.05.23 |
[Programmers] (2017 팁스타운) Lv 2. 짝지어 제거하기 (0) | 2023.05.23 |
[Programmers] Lv 2. 피보나치 수 (0) | 2023.05.22 |
댓글