공부/코딩테스트

[프로그래머스] 멀쩡한 사각형(파이썬)

ghhong 2021. 1. 19. 09:48

나의 답 :

def solution(w,h):
    s=w*h
    if w%h==0 or h%w==0:
        return s-max(w,h)
    else:
        a=w
        b=h
        if w < h: (w, h) = (h, w)
        while h != 0: 
            (w, h) = (h, w % h)
        return s-w*((a/w)+(b/w)-1)

 

다른 사람의 답 :

def gcd(a,b): return b if (a==0) else gcd(b%a,a)    
def solution(w,h): return w*h-w-h+gcd(w,h)

 

최대공약수를 생각해낸 것이 뿌듯했다.

 

 

문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/62048