프로그래머스 카펫 자바
2023. 5. 7. 23:47ㆍ코딩테스트/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/42842
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
가운데는 노란색으로 색칠되어있고 테두리는 갈색으로 색칠되어 있는 카펫이 있다.
카펫의 가로 : x, 카펫의 세로 : y라 두면 카펫의 넓이를 area라고 하자.
area = brown + yellow
x를 1부터 area의 약수인지 체크하 후 (x - 2)(y - 2)와 yellow가 같고 x >= y이면 카펫의 가로, 세로를 구할 수 있다.
import java.util.Arrays;
public class Solution42842 {
public int[] solution(int brown, int yellow) {
int[] answer = new int[2];
int area = brown + yellow;
for (int x = 1; x < brown; x++) {
// x가 자연수가 아닐 경우 제외
if (area % x != 0) continue;
int y = area / x;
if ((x - 2) * (y - 2) == yellow && x >= y) {
answer[0] = x;
answer[1] = y;
break;
}
}
return answer;
}
public static void main(String[] args) {
Solution42842 s = new Solution42842();
int[] result = s.solution(10, 2);
System.out.println(Arrays.toString(result));
}
}'코딩테스트 > 프로그래머스' 카테고리의 다른 글
| 프로그래머스 k번째 수 자바 (0) | 2023.05.13 |
|---|---|
| 프로그래머스 소수 찾기 자바 (0) | 2023.05.08 |
| 프로그래머스 모의고사 자바 (0) | 2023.05.07 |
| 프로그래머스 최소직사각형 자바 (0) | 2023.05.07 |
| 프로그래머스 모음사전 자바 (0) | 2023.05.07 |