카펫

원지렁·2023년 3월 27일
0

알고리즘 정복기

목록 보기
9/12
post-thumbnail

카펫

문제

다음과 같이 카펫의 노란색, 갈색 격자의 갯수가 주어졌을 때 가로와 세로의 길이를 리턴해야 함.

  • 조건
- 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫
- 갈색 격자의 수 brown은 8 이상 5,000 이하인 자연수입니다.
- 노란색 격자의 수 yellow는 1 이상 2,000,000 이하인 자연수입니다.
- 카펫의 가로 길이는 세로 길이와 같거나, 세로 길이보다 깁니다.

문제의 핵심

  • 나의 풀이
    1) 노란 격자의 수 = (가로 - 2) * (세로 - 2)
    2) 세로의 최솟값 = 3
function solution(brown, yellow) {
  
    let height = 0;
    let width = 0;
  
    for(height = 3; height <= (brown + yellow)/height; height++){
        width = Math.floor((brown + yellow)/height);
        if(yellow === (width - 2)*(height - 2)){
            break;
        }
    }
    return [width, height];
}
profile
새싹 개발자 지렁이의 벨로그입니다.

0개의 댓글