코딩테스트/프로그래머스
[프로그래머스] 완전탐색 : 카펫 Kotlin
일상 속 둔치
2020. 10. 2. 20:57
노란색의 가로 * 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) }
}
}