Python/CoTe
[programmers] 카펫
joannekim0420
2022. 3. 13. 14:10
728x90
https://programmers.co.kr/learn/courses/30/lessons/42842
코딩테스트 연습 - 카펫
Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과
programmers.co.kr
막막하다면 우선 예시 입출력으로 그림이나 과정을 정리해보자!
-> 카펫은 테두리가 브라운인 직사각형 또는 정사각형 모양이다.
-> yellow로 만들 수 있는 카펫 모양을 알아야 전체 카펫의 가로, 세로 길이를 알 수 있다.
-> yellow의 약수를 구하자!
-> yellow의 약수 조합 중에서 테두리 길이를 구했을 때, 주어진 brown과 같으면 return
def solution(brown, yellow):
answer = []
compo = []
for i in range(1, yellow+1):
if yellow %i ==0:
compo.append(i)
if len(compo)%2 == 0: #약수의 개수가 짝수일 때,
for c in range(len(compo)//2):
h,w = compo[c], compo[len(compo)-1-c]
print(h,w)
print((w+h)*2+4)
if (w+h)*2+4 == brown:
return [w+2,h+2]
else:
for c in range(len(compo)//2+1):
h,w = compo[c],compo[len(compo)-1-c]
print(h,w)
if (w+h)*2+4 == brown:
return [w+2,h+2]