개발 공부 기록
[Programmers / JAVA] 카펫 본문
Question
https://school.programmers.co.kr/learn/courses/30/lessons/42842?language=java
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
💡 Solution
처음에 탐색 범위를 1에서 yellow / 2로 하였다가 yellow 수가 1인 경우를 고려해서 yellow로 변경하였습니다. 저는 yellow의 약수를 찾는 방식으로 구현하였는데, 더 효율적인 풀이가 있을 거 같습니다.
💻 Code
public static class Solution {
public int[] solution(int brown, int yellow) {
int[] answer = new int[2];
int y_row = 0;
int y_col = 0;
for (int i = 1; i <= yellow; i++) {
if (i * (yellow / i) == yellow) {
y_row = Math.max(i, yellow / i);
y_col = Math.min(i, yellow / i);
}
if (y_row * 2 + y_col * 2 + 4 == brown) {
break;
}
}
answer[0] = y_row + 2;
answer[1] = y_col + 2;
return answer;
}
}
'PS > Brute Force' 카테고리의 다른 글
[SWEA 2001번 /JAVA] 파리 퇴치 (0) | 2023.10.17 |
---|