-
728x90
- brown + yellow = r * c 일때, yellow = (r-2) * (c-2)임을 이용한다.
- yellow의 약수를 구해서, 그 약수 조합에 +2한 값의 곱이 brown + yellow인지 확인한다.
class Solution { public int[] solution(int brown, int yellow) { // (r + 2) * (c + 2) = y + b일 때, r * c = y임을 이용 for(int c = 1; c <= yellow / 2 + 1; c++) { if(yellow % c == 0) { int r = yellow / c; if((r + 2) * (c + 2) == yellow + brown) return new int[] {r + 2, c + 2}; } } return new int[] {}; } }
'알고리즘 풀이 > 프로그래머스' 카테고리의 다른 글
[level2] 프로그래머스 - 위장(JAVA) (0) 2021.09.15 [level2] 프로그래머스 - 전화번호 목록(JAVA) (0) 2021.09.14 [level2] 프로그래머스 - 소수 찾기(JAVA) (0) 2021.09.14 [level2] 프로그래머스 - 주식가격(JAVA) (0) 2021.09.14 [level2] 프로그래머스 - 기능개발(JAVA) (0) 2021.09.14 댓글