ProblemSolving/Brute force

프로그래머스 카펫 (파이썬)

OSNIM 2022. 5. 10. 17:05
반응형

완전탐색, Level 3

 

문제 : https://programmers.co.kr/learn/courses/30/lessons/42842

 

코딩테스트 연습 - 카펫

Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과

programmers.co.kr

 

정답 코드

def solution(brown, yellow):
    answer = []
    # m : 노란 카펫의 가로
    # n : 노란 카펫의 세로
    for m in range(1, yellow+1):
        if yellow%m == 0:
            n = yellow//m
            if (m+2)*(n+2) == brown + yellow:
                answer.append(max((m+2), (n+2)))
                answer.append(min((m+2), (n+2)))
                break
    return answer

 

yellow 를 만드는 약수를 모두 찾아야하는 문제입니다.

yellow 가 m으로 나누어 떨어질 때만 계산해야합니다. 이 경우를 체크 안해서 실패가 떴습니다.

 

 

반응형

'ProblemSolving > Brute force' 카테고리의 다른 글

프로그래머스 소수찾기 (파이썬)  (0) 2022.05.06
프로그래머스 모의고사  (0) 2022.05.06