반응형
1. 문제 정의
2. 문제 접근
구현 문제인듯 하다.
3. 문제 풀이
- 문제에 규칙을 찾는다.
- 규칙에 맞는 정답을 리턴한다.
4. 코드
class Solution {
public int[] solution(int brown, int yellow) {
int[] answer = {};
// 1. (w,h) = (brown) + (yellow) 의 약수
// 2. 가로 >= 3, 세로 >= 3
// 3. 검증: (가로-2) * (세로-2) = yellow 갯수
int sum = brown + yellow;
for(int i = 3; i < sum; i++){
int j = sum / i; // i * j = sum
if(sum % i == 0 && j >= 3){
int w = Math.max(i,j);
int h = Math.min(i,j);
int center = (w-2) * (h-2);
if(center == yellow) return new int[]{w,h};
}
}
return answer;
}
}
5. 회고
처음에 어떻게 구현을 해야할 지 몰라 한참을 고민했다. 그래도 3개의 예제를 통해 규칙성이 보였고, 규칙과 조건을 잘 조합하여 문제가 해결되었다. 구현문제는 언제봐도 어렵다... 이게 왜 완전탐색인지는....
반응형
'코딩테스트 > 백준' 카테고리의 다른 글
99클럽 코테 스터디 9일차 TIL, DFS,BFS(타겟 넘버) (0) | 2024.05.30 |
---|---|
99클럽 코테 스터디 8일차 TIL, 완전탐색(소수 찾기) (0) | 2024.05.29 |
99클럽 코테 스터디 5일차 TIL, 정렬(가장 큰 수) (0) | 2024.05.26 |
17144번 - 미세먼지 안녕! (0) | 2023.04.30 |
16236번 - 아기 상어 (0) | 2023.04.30 |