반응형
풀이
브라운의 개수와 옐로우의 개수가 주어졌을 때, 전체 타일의 가로, 세로와의 관계를 생각하면 답을 구할 수 있다.
1. 브라운 + 옐로우 = 가로 * 세로
2. 브라운 = (가로 + 세로) * 2 - 4 => 브라운이 카펫을 감싸고 있음
가로 + 세로 = (브라운 + 4) / 2
이에 세로가 가로보다 작기 때문에 세로를 1부터 늘려가면서 해당 조건에 맞는지 확인한다.
전체 소스코드
class Solution {
public int[] solution(int brown, int yellow) {
int sum = (brown + 4) / 2;
int mul = brown + yellow;
int x = 1;
int y = sum - x;
while (true) {
if (x * y == mul) break;
x++;
y = sum - x;
}
int[] answer = {y, x};
return answer;
}
}
'Algorithm' 카테고리의 다른 글
[Algorithm] 프로그래머스 소수 찾기 (0) | 2021.07.01 |
---|---|
[Algorithm] 프로그래머스 모의고사 (0) | 2021.06.30 |
[Algorithm] 프로그래머스 여행경로 (0) | 2021.06.28 |
[Algorithm] 프로그래머스 단어 변환 (0) | 2021.06.27 |
[Algorithm] 네트워크 (0) | 2021.06.26 |