오구.cpp 2023. 1. 2. 22:33
반응형

 

 

[코딩테스트 고득점 KIT - 완전탐색]

 

 

가로의 길이가 세로의 길이 보다 길거나 같은 조건과

갈색 카펫이 노란 카펫을 둘러싼 것에 초점을 맞추면 쉽게 풀 수 있었다.

 

그림을 그리며 수식을 이해하는게 빠르다고 느꼈다.

 

yellow가 2라면, 가로의 길이가 길기 때문에 2x1 일 것이며

24인 경우에는, 24x1, 12x2, 8x3, 6x4 으로 나눌 수 있다.

 

yellow의 경우의 수 중,

총 타일 - yellow 과 brown이 같은 경우가 답이다.

총 타일은 그림을 통해 아래의 수식과 같이 표현할 수 있다!

 

def solution(brown, yellow):
    for i in range(yellow,0,-1):
        if yellow % i ==0 and (i+2)*(yellow//i+2)-yellow == brown:
            return [(i+2),(yellow//i+2)]
반응형