728x90
https://programmers.co.kr/learn/courses/30/lessons/42842
그리 어렵지 않았던 문제!
이 문제의 포인트는 안쪽에 놓이는 노란 타일의 가로 개수를 결정하는 것이다!
노란 타일의 가로와 세로 길이를 결정하면 그 떄의 갈색 타일의 개수는 노란 타일의 (가로+세로) * 2 + 4 가 된다
4를 더해주는 이유는 각 테두리의 꼭짓점에도 타일이 놓여야 하기 때문이다!
노란 타일의 가로 길이를 결정하는 방법은 그냥 반복문으로 1부터 노란 타일의 전체 개수까지 돌면서 나누어 떨어지면 가능한 배치인 것이다
그래서 그 때의 갈색 타일 개수를 구하고 만약 주어진 갈색 타일과 같으면 return!
쉽죠잉?
자바 코드)
class Solution {
public int[] solution(int brown, int yellow) {
int[] answer = new int[2];
for(int r=1;r<=yellow;r++) { // 노란 타일의 가로 개수 결정하기
if(yellow % r == 0) {
int col = yellow / r;
int b = (r + col) * 2 + 4;
if(brown == b) {
answer[0] = r+2;
answer[1] = col+2;
}
}
}
return answer;
}
}
728x90
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[탐욕법(Greedy)] 큰 수 만들기 - JAVA (0) | 2022.05.16 |
---|---|
[탐욕법(Greedy)] 조이스틱 - JAVA (1) | 2022.05.15 |
[완전탐색] 소수 찾기 - JAVA (0) | 2022.05.12 |
[JAVA] 백준 11055번 - 가장 큰 증가 부분 수열 (0) | 2022.05.10 |
[완전탐색] 모의고사 - JAVA (0) | 2022.04.30 |
댓글