문제는 아래와 같습니다.
https://programmers.co.kr/learn/courses/30/lessons/62048
코딩테스트 연습 - 멀쩡한 사각형
가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을
programmers.co.kr
풀이
#규칙성 찾기가 가장 중요함
def solution(w,h):
def GCD(A,B): return B if (A==0) else GCD(B%A,A) #최대공약수구하기
def func(A,B):return func(A//GCD(A,B),B//GCD(A,B))*GCD(A,B) if GCD(A,B)!=1 else A+B-1
#재귀함수이용하기
return w*h-func(w,h)
'Python' 카테고리의 다른 글
[프로그래머스] 추석 트래픽-I am yumida (0) | 2021.12.21 |
---|---|
[프로그래머스] 수식 최대화-I am yumida (0) | 2021.12.16 |
[프로그래머스] 문자열 압축-I am yumida (0) | 2021.12.12 |
[프로그래머스] 숫자 문자열과 영단어-I am yumida (0) | 2021.12.12 |
[프로그래머스] 로또의 최고 순위와 최저 순위-I am yumida (0) | 2021.12.12 |