뚜당탕탕

[프로그래머스 / Python] 카펫 - 완전탐색 본문

💯 문제 풀이/프로그래머스

[프로그래머스 / Python] 카펫 - 완전탐색

뚜띠언니 2022. 1. 15. 22:19

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

 

코딩테스트 연습 - 카펫

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

programmers.co.kr

 

def solution(brown, yellow):
    answer = []
    garosero = []
    length = brown + yellow
    
    for i in range(3, (length//3) +1 ) :	# yellow 가 존재한다면 세로의 길이는 무조건 3 이상일 것이다
        if length / i == i :
            garosero.append(i)
        elif length % i == 0 :
            garosero.append(i)
    
    if len(garosero) % 2 == 0 :		
        end = len(garosero) // 2
    else :
        end = (len(garosero) // 2) +1
        
    for i in range(1, end +1) :     # -1부터 뽑기 위해, 가로 > 세로 
        garo = garosero[-i]
        sero = length // garo
        
        if (garo-2)*2 + (sero*2) == brown : # brown(가장자리) 의 크기를 기준으로 같은지 확인한다
            answer.append(garo)
            answer.append(sero)
            
    return answer
Comments