Lv2. 멀쩡한 사각형

Hello·2022년 8월 3일

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

1. 풀이 설명

  1. 주어진 정보가 얼마 없기 때문에 wh, 그리고 사용할 수 있는 정사각형의 개수 사이의 규칙을 찾아보았다.

  2. 사용할 수 있는 정사각형의 개수 = 전체 정사각형의 개수 (w*h) - (w + h + (w와 h의 최소공배수)) 라는 규칙을 활용하여 답을 반환한다.

2. 나의 풀이

python

def solution(w,h):
    return w * h - (w + h - gcd(w, h))

def gcd(a, b):
    if a % b == 0:
        return b
    return gcd(b, a%b)

kotlin

class Solution {
    fun solution(w: Int, h: Int): Long =
        w.toLong() * h.toLong() - (w + h - gcd(w, h))
    
    fun gcd(a: Int, b: Int) : Int =
        if (a % b == 0) b else gcd(b, a % b) 
}

3. 배운점

  1. 주어진 정보에서 최대한의 규칙을 찾기
  2. 최대공약수 (GCD): 참고 문제
profile
안녕하세요 :)

0개의 댓글