개발 공부 기록

[Programmers / JAVA] 카펫 본문

PS/Brute Force

[Programmers / JAVA] 카펫

나만없서고냥이 2023. 11. 20. 01:32

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