프로그래머스/LEVEL 2

멀쩡한 사각형

GenieLove! 2021. 3. 17. 19:22
728x90
반응형

Java

import java.lang.*;
class Solution {
    public long solution(long w, long h) {
        long answer = w * h;
        long w2 = w;
        long h2 = h;
        long greatest = 1;//최대 공약수 저장
        
        for(int i = 2; i <= h2 || i <= w2;){//w2와 h2를 최대 공약수로 나눈 값으로 저장
            if(h2 % i == 0 && w2 % i == 0){
                h2 /= i;
                w2 /= i;
                greatest *= i;
            }else
                i++;
        }
        
        answer -= (h2 + w2 - 1) * greatest;
        
        
        return answer;
    }
}

Python

import math
def solution(w,h):
    answer = w * h
    minNum = min(w, h)
    maxNum = max(w, h)
    greatest = 1;#최대공약수
    
    i = 2
    while minNum >= i:#최대 공약수 구하기
        if minNum % i == 0 and maxNum % i == 0:
            minNum = minNum // i
            maxNum = maxNum // i
            greatest *= i
        else:
            i += 1
            
    answer -= (minNum + maxNum - 1) * greatest
    
    return answer
728x90
반응형

'프로그래머스 > LEVEL 2' 카테고리의 다른 글

문자열 압축  (0) 2021.03.21
주식가격  (0) 2021.03.21
124 나라의 숫자  (0) 2021.03.17
프린터  (0) 2021.03.14
스킬트리  (0) 2021.03.10