본문 바로가기
Online-Judge/Programmers

[Programmers] Python 카펫

by nyangzzi 2022. 6. 15.
반응형

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

 

코딩테스트 연습 - 카펫

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

programmers.co.kr

 


 

 

1. 갈색의 개수 = 2 * (가로+세로-2) 

2. 노란색의 개수 = (가로-2) * (세로-2)

 

1번식을 재조합하면,

(가로+세로) = (갈색의 개수) / 2 + 2

 

이때, 가로가 세로보다 길거나 같다고 가정했으므로 가로를 (갈색의 개수) / 2 + 2로, 세로를 0으로 세팅한 뒤

2번식을 만족할 때까지 값을 하나씩 늘리고 빼준다.

 

def solution(brown, yellow):
    
    width = brown/2+2
    height = 0
    
    while (width-2)*(height-2) != yellow:
        width -= 1
        height += 1
    
    return [width, height]
반응형

댓글