[프로그래머스] 카펫

코딩테스트 연습 > 완전탐색 > 카펫


노란 타일의 가로(yellow_x)는 세로(yellow_y)보다 크다

yellow_y를 1로 초기화 하고 1씩 증가시키며 갈색 타일의 수를 계산(cal),

입력값으로 들어온 갈색 타일 수와 일치하는지 검사

1차

def solution(brown, yellow):
    answer = []

    yellow_x = yellow
    yellow_y = 1
    cal = (yellow_x+yellow_y)*2 + 4 # 계산한 갈색 타일 수
    while cal > brown:
        yellow_y += 1
        while yellow%yellow_y>0:
            yellow_y += 1
        yellow_x = yellow//yellow_y
        cal = (yellow_x+yellow_y)*2 + 4

    answer = [yellow//yellow_y+2, yellow_y+2]
    return answer

728x90