티스토리 뷰
programmers.co.kr/learn/courses/30/lessons/42842
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
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
프로그래머스 level 2 - 프린터 (스택/큐) (0) | 2020.09.14 |
---|---|
프로그래머스 level 3 - 베스트앨범 (해시) (0) | 2020.09.13 |
프로그래머스 level 2 - 위장 (해시) (0) | 2020.09.13 |
프로그래머스 level 2 - 전화번호 목록 (해시) (0) | 2020.09.12 |
프로그래머스 level 2 - 타겟넘버 (DFS/BFS) (0) | 2020.09.12 |
댓글