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

Jimeaning·2023년 3월 7일
0

코딩테스트

목록 보기
19/143

Python3, 완전탐색

문제


제한 사항

입출력 예시

나의 풀이 (시도)

  • brown과 yellow를 더한 총합의 약수가 return 값이 될 수 있는 조건

주요 포인트

약수 구하는 방법

num = 10
for i in range(num+1):
    if (num % i == 0):
    	return i, num // i

노란색의 가로, 세로 칸 수를 이용한다

노란색 가로 + 2, 노란색 세로 + 2 가 리턴값이다
(노란색 가로 x 2) + (노란색 세로 x 2) + 4 가 갈색과 같으면 된다

최종 코드

def solution(brown, yellow):
    answer = []
    
    for i in range(1, yellow+1):
        if yellow % i == 0:
            yellow_width = yellow // i
            yellow_height = i
            
        if (2 * (yellow_width + yellow_height) + 4) == brown:
            answer.append(yellow_width + 2)
            answer.append(yellow_height + 2)
            return answer
profile
I mean

0개의 댓글