참고
문제해설
문제 로직고민
NOTE
•
노랑색 타일의 값이 24인경우, 24*1, 12*2, 4*3 의 방식으로 놓여질 수 있다.
◦
카펫의 경우 가로길이가 세로보다 길어야 하므로, 반대 상황은 생각하지 않는다.
•
갈색 타일의 경우 노랑색의 가로와 세로값이 있다면 계산할 수 있다.
◦
가로*2 + 세로*2 + 4 ⇒ 갈색 타일의 개수
작성코드
NOTE
class Solution {
public int[] solution(int brown, int yellow) {
int[] answer = new int[2];
for(int i =1; i<(int)Math.sqrt(yellow)+1; i++){
if(yellow % i == 0 && yellow/i * 2 + i * 2 + 4 == brown){
answer[0] = yellow/i + 2;
answer[1] = i + 2;
break;
}
}
return answer;
}
}
Java
복사
다른사람 풀이
NOTE
class Solution {
public int[] solution(int brown, int red) {
for(int i=1; i<=red; i++) {
if(red%i==0 && (red/i+i)*2+4==brown) {
return new int[] {red/i+2, i+2};
}
}
return null;
}
}
Java
복사
예전에는 빨강색이었나 보다.
•
공식은 동일한것 같다.