programmers - 멀쩡한 사각형

resilient

·

2021. 5. 5. 01:07

728x90
반응형

programmers.co.kr/learn/courses/30/lessons/62048

 

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

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

programmers.co.kr

# 처음에는 직선의 방정식을 구해서 for 문으로 x,y값을 넣으려는 방식을 구현했는데 실패
# 직선의방정식이 결국에는 최대공약수 사용
# 최대공약수로 나눠서 최소화해서 구하고 최대공약수를 다시 곱해주는 방식

def solution(w,h):
    import math
    total = w * h
    # (w//gcd + h//gcd -1)*gcd
    answer = total - (w+h-math.gcd(w,h))
    return answer

print(solution(4,5))

 처음에는 직선의 방정식을 구해서 for 문으로 x,y값을 넣으려는 방식을 구현했는데 실패

 직선의방정식이 결국에는 최대공약수 사용

 최대공약수로 나눠서 최소화해서 구하고 최대공약수를 다시 곱해주는 방식

반응형