본문 바로가기
코딩테스트(알고리즘)/프로그래머스

[프로그래머스] 멀쩡한 사각형 (Javascript)

by Cafe Mocha 2022. 6. 30.

코딩테스트 연습 - 멀쩡한 사각형 | 프로그래머스 (programmers.co.kr)

 

코딩테스트 연습 - 멀쩡한 사각형

가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을

programmers.co.kr


접근 : 수학, 구현

 

처음에 정사각형까지 생각하다가 규칙성을 못찾아서 고생했다.

문제를 자세히 읽고 직사각형으로 규칙을 찾아 문제 해결

 

점화식 : (w*h)-(x+y-1)*Gcd;

 

Javascript

function solution(w, h) {
    let answer = 1;
    let Gcd = gcd(w,h);
    let x = Math.floor(w/Gcd);
    let y = Math.floor(h/Gcd);
    
    
    answer = (w*h)-(x+y-1)*Gcd;
    
    return answer;
}

function gcd(a,b){
    if(a===0) return b;
    return gcd(b%a,a);
}