https://programmers.co.kr/learn/courses/30/lessons/42842
- 조건
1) 가로가 세로보다 길어야 한다.
2) 노란색은 중앙에 있고 갈색은 이를 두르고 있다
3) 2)와 같이 되기 위해선 갈색 격자 수는 가로 X 2 + (세로-2) X 2여야 한다.
- 세로에서 -2해주는 이유는 가로에서 구한 영역과 겹치기 때문!!
function solution(brown, yellow) {
var total = brown + yellow;
for(var i = 1; i <= total; i++){
if((total%i) == 0){
var vert = i;
var horizontal = Number.parseInt(total/vert);
if(vert >= horizontal && (vert*2)+(horizontal-2)*2 == brown)
return [vert, horizontal];
}
}
}
- 처음엔 조건을 가로가 세로보다 크면 된다는 점만 생각해서 실행했을 때, 오류가 났었다.
- 앞으론 문제를 꼼꼼히 읽으며 조건을 잘 확인해야겠다고 생각하게 되었다.
잘 보고 갑니다.람쥐