문제
코딩테스트 연습 - 멀쩡한 사각형
가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을
programmers.co.kr
풀이
- 전체 면적에서 가로로 가는길(w)과 세로로 가는길(h)를 한 번씩 빼주고 겹치는 구간인 w, h의 최대공약수를 더해줌
- gcd는 최대공약수를 구하는 함수로 w를 h로 나눴을 때 나머지가 없을 때까지 나누는 과정을 반복
코드
def gcd(w, h):
while w % h:
w, h = h, w % h
return h
def solution(w,h):
return w * h - w - h + gcd(w, h)
반응형
'Algorithm > Programmers' 카테고리의 다른 글
[Programmers] Lv2. 짝지어 제거하기 (0) | 2021.05.20 |
---|---|
[Programmers] Lv2. 124 나라의 숫자 (0) | 2021.05.20 |
[Programmers] Lv1. 최대공약수와 최소공배수 (0) | 2021.05.15 |
[Programmers] Lv1. 짝수와 홀수 (0) | 2021.05.15 |
[Programmers] Lv1. 평균 구하기 (0) | 2021.05.15 |
댓글