반응형
SMALL
https://programmers.co.kr/learn/courses/30/lessons/62048
- 대각선 꼭짓점을 이었을 때 지나가는 사각형을 제외한 사각형의 총 개수 구하는 문제
- 최대공약수 이용하기
class Solution {
public long solution(int w, int h) {
long answer = 1;
// W, H의 범위가 1억까지이기 때문에 long형으로 변환
long lw = w;
long lh = h;
if(lw >= lh) { // 가로가 더 큰 경우
answer = lw * lh - (lw + lh - gcd(lw, lh)); // 구하는 식 (최대공약수 이용)
} else { // 세로가 더 큰 경우
answer = lw * lh - (lw + lh - gcd(lh, lw));
}
return answer;
}
// 최대공약수 구하기
long gcd(long big, long small) {
while(small > 0) {
long temp = big % small;
big = small;
small = temp;
}
return big;
}
}
반응형
LIST
'JAVA > Algorithm' 카테고리의 다른 글
[프로그래머스/java] 가장 큰 수 (+ Comparator / compareTo) (0) | 2020.12.28 |
---|---|
[프로그래머스/java] 다리를 지나는 트럭 (큐) (+ 주석 설명) (0) | 2020.12.26 |
[프로그래머스/java] 주식가격 (0) | 2020.12.25 |
[프로그래머스/java] 기능개발 (큐) (0) | 2020.12.25 |
[프로그래머스/java] 프린터 (속도 차이) (0) | 2020.12.23 |