티스토리 뷰

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

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함