S E P H ' S

[Python] 카펫 본문

Algorithm/Programmers

[Python] 카펫

yoseph0310 2021. 8. 8. 00:42
 

코딩테스트 연습 - 카펫

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

programmers.co.kr

풀이

1. brown + yellow = 카펫의 넓이 ( x * y )

2. brown은 최소 8 -> 가로나, 세로 최솟값은 3. (brown이 테두리이기 때문에)

3. brown이 테두리라는 것에 의해 yellow는 (x-2) * (y-2)가 성립

4. 넓이에서 임의의 변수를 나눠서 나머지가 0인 값넓이에서 그 변수를 나눠서 나온 몫이 각각 가로, 세로이다.

 

def solution(brown, yellow):
	hap = brown, yellow
    
    for i in range(hap, 2, -1):
    	if hap % i == 0:
        	a = hap // i
            if yellow == (i-2) * (a-2):
            	return [i, a]

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

[Python] 올바른 괄호  (0) 2021.08.23
[Python] 다음 큰 숫자  (0) 2021.08.22
[Python] 여행 경로  (0) 2021.08.07
[Python] 단어 변환  (0) 2021.08.07
[Python] 네트워크  (0) 2021.08.07