728x90
https://school.programmers.co.kr/learn/courses/30/lessons/62048
분석
1. 가로 세로 최대공약수 구하기
2. 작은 직사각형 가로 세로 구하기 : 가로/최대공약수, 세로/최대공약수
2. 작은 직삭각형 빈칸 크기 : 작은 직사각형 가로 + 작은 직사각형 세로 - 1
전체 직사각형 빈칸 크기 : 작은 직사각형 빈칸 크기 * 최대공약수
3. 전체 크기에서 빈칸 크기 빼기
가로 8, 세로 12
1. 가로 세로 최대공약수 : 4
2. 작은 직사각형 가로 : 8/4 = 2, 작은 직사각형 세로 : 12/4 =3
3. 작은 직사각형 빈칸 크기 : 2+3-1 = 4
전체 직사각형 빈칸 크기 : 4(작은 직사각형 빈칸 크기) * 4(최대공약수) = 16
(작은 직사각형 가로 + 작은 직사각형 세로 -1) * 최대공약수 = 직사각형 가로 + 세로 - 최대공약수
3. 96(전체 크기) - 16(빈칸 크기) = 80
풀이
import math
def solution(w,h):
return w*h-(w+h-math.gcd(w,h))
728x90