본문 바로가기
Algorithm/프로그래머스풀이

[알고리즘 문제풀이] 프로그래머스 - 멀쩡한 사각형 / JAVA(자바)

by 계범 2022. 3. 11.

https://programmers.co.kr/learn/courses/30/lessons/62048

 

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

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

programmers.co.kr

/**
    
    1. 가로와 세로의 최소 공약수를 찾기(유클리드 호제법 사용)
    
    2. 공약수로 나눈 가로와 세로의 직사각형이 공약수만큼 있음
    
    3. 가로와 세로 직사각형에서 사용불가능한 사각형의 개수는 (가로+세로-공약수)
    
    4. 전체개수 - 사용불가능한 사각형의 개수(가로+세로-공약수)

**/

class Solution {
    public long solution(int w, int h) {
        
        long all = (long)w*h;
        
        int g = gcd(w,h);
        System.out.println(g);
        return all -(w+h-g);
    }
    
    public int gcd(int w, int h){
        
        if(h == 0) return w;
        
        return gcd(h,w%h);
    }
}

 

댓글