본문 바로가기
알고리즘/프로그래머스

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

by justkeepgoing 2021. 1. 6.
728x90
반응형

1. 문제

programmers.co.kr/learn/courses/30/lessons/62048?language=java

 

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

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

programmers.co.kr

2. 풀이

  • 최대공약수를 구하는게 핵심인거 같다.
  • int 로 풀었을때 12번부터 틀려서 long으로 캐스팅하여 풀었다.

3. 코드

class Solution {
    public long solution(int w, int h) {
        long answer = 0;
        long size = w+h - gcd(w,h);
        answer = (long)w*h - size;

        return answer;
    }
     static long gcd(long w, long h){  // 최대공약수
        while(h>0){
            long tmp = w;
            w = h;
            h = tmp%h;
        }
        return w;
    }
}
반응형

 

반응형