Python/알고리즘
완전탐색 Level 2 카펫 - python (프로그래머스)
구름용
2023. 6. 23. 16:59
소스 코드
def solution(brown, yellow):
total_size = brown + yellow
for i in range(1,total_size + 1):
if total_size % i == 0:
width = i
height = total_size // i
if width >= height and width == yellow // (height - 2) + 2:
return [width, height]
풀이
해당 문제는 모든 카펫 모양을 구해보면서 문제 설명에서 언급한 조건에 맞는 카펫만 찾으면 된다. 가운데에 노란색 카펫이 있고 그 주위를 갈색 카펫으로 빠짐없이 덮기 위해서는 높이가 가로 길이보다 더 커서는 안되며 yellow의 층이 높아짐에 따라 width 는 width == yellow // (height - 2) + 2 같은 패턴을 따라야 한다는 것을 발견하였다.