코딩테스트/프로그래머스
프로그래머스 level 2 - 카펫 (완전탐색)
jhk828
2020. 9. 12. 03:49
programmers.co.kr/learn/courses/30/lessons/42842
코딩테스트 연습 - 카펫
Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 ��
programmers.co.kr
1. 정수 yellow의 약수 리스트를 만든다. 이때 중복을 방지하기 위해 (4, 6) , (6,4) 두 케이스의 경우 (4, 6)만 저장한다.
2. 약수의 곱 리스트 (a, b) 중 항상 b가 크게 저장했기 때문에, (b + 2) * 2 + a * 2 == brown
인 경우 값을 값을 리턴한다.
def solution(brown, yellow):
# yellow의 약수 리스트 만들기
d = []
for i in range(1, yellow+1):
if yellow % i ==0:
if yellow // i >= i:
d.append((i, yellow//i))
for a, b in d:
if (b+2) * 2 + (a*2) == brown:
return [b+2, a+2]
return None