ps

[완전탐색] 카펫

문제조건:

카페는 가로 > 세로

중간에 노란색 바닥이 있고 노란색 바닥을 갈색 바닥을 1줄로 감싸는 형태.

 

해결 방법:

노란색 바닥의 개수는 가로(a) => 세로(b) 가정 하에 a*b개이고

갈색의 개수는 2a + 2b + 4이다. 따라서 이 공식을 이용하면 문제를 풀 수 있다.

완전 탐색이 쓰인 부분은 a*b의 약수를 구하는 부분이다. 

완전 탐색 주말엔 꼭 정리해야겠다!! 

function solution(brown, yellow) {
    let answer = new Array(2);
    for (let i = 1; i <= Math.sqrt(yellow) ; i++)
    {
      if( yellow % i === 0)
      {
        let a = yellow/i; // b보다 크거나 같음
        let b = i;

        if ( a + b === brown/2 - 2)
        {
            answer[0] = a+2;
            answer[1] = b+2;
            return answer;
        }
      }
    }
    return answer;
}

'ps' 카테고리의 다른 글

동적계획법, dynamic programming 기본  (0) 2020.12.31
[DFS/BFS] 타겟 넘버  (0) 2020.11.26
[완전 탐색] 소수 찾기  (0) 2020.11.18
[완전탐색] 모의고사  (0) 2020.11.18
[정렬] 가장 큰 수, H-Index  (0) 2020.11.17