본문 바로가기
코딩테스트/프로그래머스

[프로그래머스] 완전탐색 : 카펫 Kotlin

by 일상 속 둔치 2020. 10. 2.

노란색의 가로 * 2 + 노란색의 세로 * 2 + 4가 갈색의 수와 같다는 것을 이용하면 된다.

 

이제 노란색의 가로, 세로만 정해주면 되는데 가능한 약수들을 찾고 약수로 위의 식에 대입해서 계산해보면 된다.

 

약수를 찾는데서 완전탐색인것 같다.

class Solution {
    fun solution(brown: Int, yellow: Int): IntArray {
                return (1..yellow)
                .filter { yellow % it == 0 }
                .first { brown == (yellow / it * 2) + (it * 2) + 4 }
                .let { intArrayOf(yellow / it + 2, it + 2) }
    }
}

댓글