[Programmers / Python / 완전탐색] - 카펫

Young·2021년 5월 18일
0

출처 https://programmers.co.kr/learn/courses/30/lessons/42842?language=python3

조건

1. 중앙은 노란색, 테두리는 1줄의 갈색
노란색의 가로 크기 + 2 = 카펫 width
노란색의 새로 크기 + 2 = 카펫 height

2. 카펫의 width >= height

3. yellow 갯수 + brown 갯수 = 카펫의 width * 카펫의 height

def solution(brown, yellow):

    for i in range(yellow, 0, -1):
        if yellow % i == 0:
            if i >= yellow/i:
                if (i+2) * (int(yellow/i) +2) == brown+yellow:
                
                    return [i+2, int(yellow/i) +2]

for문을 반복하는 횟수를 줄이기 위해 1이 아니라 yellow부터 시작해서 -1씩 해줬다.
만족하는 i에서 바로 해당하는 값을 return 되도록 했다.

profile
👩🏻‍💻

0개의 댓글

관련 채용 정보