Code in

프로그래머스 완전탐색 카펫 with Kotlin 본문

알고리즘 스터디_문제풀이

프로그래머스 완전탐색 카펫 with Kotlin

heyhmin 2020. 8. 14. 15:13

프로그래머스 완전 탐색 부분 카펫 문제입니다.

IntelliJ에서의 풀이입니다.

val brown: Int = 24 // 최소 8
val yellow: Int = 24 // 최소 1

fun solution(brown: Int, yellow: Int): IntArray {
    var answer = intArrayOf()
    
    // brown = 2*(가로+세로 - 2) yellow = 가로*세로 - brown
    // (가로+세로) = brown/2 + 2
    // 가로*세로 = brown + yellow
    
    val mul: Int = brown + yellow
    val sum: Int = brown / 2 + 2
    
    // 가로 = mul/세로
    // 가로+세로 = sum
    
    var height = 3 // 최솟값
    
    while (mul % height != 0)
        height++
        
    var width: Int = mul / height // 최댓값
    
    while (width + height != sum) {    
        height++
        
        while (mul % height != 0)
            height++
            
        width = mul / height
    }
    
    answer += width
    answer += height
    
    return answer
}

fun main() {
    print(solution(brown, yellow).contentToString()) // 8, 6
}

URL: https://programmers.co.kr/learn/courses/30/lessons/42842

 

코딩테스트 연습 - 카펫

Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 ��

programmers.co.kr

 

Comments