본문 바로가기
알고리즘/프로그래머스

프로그래머스: 완전탐색 - 카펫

by 패쓰킴 2023. 10. 7.
728x90

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

풀이

brown과 yellow의 합이 완성된 배열의 크기이며, 

yellow를 brown으로 감싸야 하므로 최소 높이는 3부터 시작 한다.

func solution(_ brown:Int, _ yellow:Int) -> [Int] {
    let totalCellCount = brown + yellow
    var number = 3
    
    while true {
        if (totalCellCount % number != 0) || (((number - 2) * ((totalCellCount / number) - 2)) < yellow)  {
            number += 1
        } else {
            break
        }
    }
    
    return number < (totalCellCount / number) ? [(totalCellCount / number),number] : [number,(totalCellCount / number)]
}
728x90

댓글