반응형
완전탐색, 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 |