[프로그래머스 Lv.2] 카펫

shin·2022년 11월 25일
0

CodingTest 문제 풀이

목록 보기
78/79

[프로그래머스 Lv.2] 카펫

풀이

def solution(brown, yellow):
    answer = []
    sum_value = brown + yellow
    for l in range(3, brown):
        if sum_value % l == 0:
            w = sum_value // l
            if w >= l:
                for i in range(1, w):
                    if yellow == (w - i) * (l - i):
                        answer.append(w)
                        answer.append(l)
                        return answer
    return answer
  • brown 테두리 안에 yellow가 있으려면 세로 길이는 최소 3 이상이 되어야 함
  • 세로 길이를 3부터 1씩 증가 시키면서 brownyellow의 모든 개수를 담을 수 있는 가로 길이를 찾음
  • 가로와 세로 길이를 찾으면 그 안에 yellow가 알맞게 들어갈 수 있는지 1씩 내부 yellow 공간을 줄이면서 확인
profile
Backend development

0개의 댓글