Algorithm/Programmers

[Python] 카펫

느낌표 공장장 2021. 6. 7. 23:08
def solution(brown, yellow):
    
    for i in range(1, int(yellow/2) + 2) :
        if yellow % i == 0 :
            width = int(yellow/i)
            b = i*2 + width*2 + 4
            if b == brown :
                return [width+2, i+2]

풀이

노란색을 이용해서 테두리를 공략하는 풀이

노란색의 가로, 세로 길이를 알기만 하면 된다. 

 

1. yellow의 약수라면, yellow를 감싸는 테두리의 갯수를 구한다. 

2. 그 수가 brown과 같다면 i가 yellow의 가로가 된다.

3. yellow 가로 세로 길이에서 2를 더해 반환한다. (위 아래 그리고 양 옆을 brown이 감싸고 있으니 2씩 더한다)

i 가 1일경우, i*2 + width*2 + 4 -> 1*2 + 2*2 +4

 

'Algorithm > Programmers' 카테고리의 다른 글

[Python] 프렌즈4블록  (0) 2021.06.11
[Python] 구명보트  (0) 2021.06.10
[Python] 큰 수 만들기  (0) 2021.06.06
[Python] 다리를 지나는 트럭  (0) 2021.06.04
[Python] 위장  (0) 2021.06.02