[kotlin] 프로그래머스 62048 멀쩡한 사각형

Heejin Ryu·2021년 7월 8일
0

프로그래머스 62048 멀쩡한 사각형

그림을 보고 가장 작은 조각으로 나눠야겠다 라고 생각을 했다.
그래서 최대공약수까진 생각을 했는데, 그 내부에서의 규칙을 찾지를 못해서 헤맸던 문제.

실수 1

실수했던 부분은 toLong()처리를 해주지 않아서 계속 오류가 났다.
문제에서 answer이 Long형식 반환이기 때문에 이 점을 꼭 고려하며 개발해야한다.

실수 2

gcd 구하는 곳에서 0이 아닐경우 return 할 때 arguments를 (b, b%a)로 넘긴 부분.
(b, a%b)다.

import kotlin.math.max
import kotlin.math.min

class Solution1 {
    fun solution(w: Int, h: Int): Long {
        val g = gcd(max(w, h), min(w, h))
        val longw = w.toLong()
        val longh = h.toLong()

        return ((longw * longh) - (longh+longw-g))
    }

    fun gcd(a: Int, b: Int): Int = if (b == 0) a else gcd(b, a % b)


}
fun main() {
    Solution1().solution(8, 12)
}
profile
Chocolate lover🍫 & Junior Android developer🤖

0개의 댓글