문제를 보고 어떻게 풀어야 할지 한참을 생각했다.
해결방법은 떠오르는데 코드로 옮기지를 못해서 너무 스트레스를 받았다.
검색을 통해 힌트를 얻었는데 고민하던 부분을 continue로 해결하는 것을 보고 좀 허무하고 반성이 되었다.
최종 코드
class Solution {
public int[] solution(int brown, int yellow) {
int[] answer = new int[2];
int total = brown + yellow;
for (int i = 1; i <= total; i++) {
// 세로 길이
int row = i;
// 가로 길이
int col = total / row;
// 가로 길이가 세로 길이와 같거나 세로보다 길기 떄문에
if(row > col) {
continue;
}
// 가로 - 2 * 세로 - 2 가 노란색 개수이므로
if((row - 2) * (col - 2) == yellow) {
answer[0] = col;
answer[1] = row;
return answer;
}
}
return answer;
}
}
'코딩 테스트' 카테고리의 다른 글
(Java) 프로그래머스 소수찾기_L2 (0) | 2022.01.23 |
---|---|
(Java) 프로그래머스 위장 (0) | 2022.01.18 |
(Java) 프로그래머스 구명보트 (0) | 2022.01.16 |
(Java) 프로그래머스 주식가격 (0) | 2022.01.16 |
(Java) 프로그래머스 프린터 (0) | 2022.01.16 |