유형 : 완전탐색 

풀이 시간 : 7분

 

def solution(brown, yellow):
    answer = []
    avail = []
    for i in range(1, int(yellow ** 0.5) + 1):
        if yellow % i == 0:
            avail.append([i, yellow//i])
    for av in avail:
        [wid, dep] = av
        if 2* wid + 2 * dep + 4 == brown:
            return [dep + 2, wid + 2]
    return answer

 

yellow를 기준으로 가능한 모든 yellow의 가로, 세로 길이를 avail에 append한 뒤,

예상 brown의 길이를 계산하여 실제 brown 값과 대조한다. 

일치하는 경우 정답이므로 실제 길이를 계산해 return한다. 

'프로그래머스 > Lv. 2' 카테고리의 다른 글

16. 게임 맵 최단거리 ★ (BFS, zip)  (0) 2024.07.19
15. 타겟 넘버 ★(DFS)  (0) 2024.07.18
13. 소수 찾기 (완전 탐색)  (1) 2024.07.18
12. H-index ★★ (정렬)  (0) 2024.07.18
11. 가장 큰 수 ★★ (정렬)  (0) 2024.07.18
복사했습니다!