https://programmers.co.kr/learn/courses/30/lessons/62048
/**
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);
}
}
'Algorithm > 프로그래머스풀이' 카테고리의 다른 글
[알고리즘 문제풀이] 프로그래머스 - 교점에 별 만들기 / JAVA(자바) (0) | 2022.03.13 |
---|---|
[알고리즘 문제풀이] 프로그래머스 - 구명 보트 / JAVA(자바) (0) | 2022.03.12 |
[알고리즘 문제풀이] 프로그래머스 - 삼각 달팽이 / JAVA(자바) (0) | 2022.03.09 |
[알고리즘 문제풀이] 프로그래머스 - n진수게임 / JAVA(자바) (0) | 2022.03.08 |
[알고리즘 문제풀이] 프로그래머스 - 기능개발 / JAVA(자바) (0) | 2022.03.07 |
댓글