728x90
문제
코드
# 2,3,8,9,10 실패
answer = []
for i in range(1, yellow+1):
if 2 * (int(yellow / i) + 2) + (i * 2) == brown:
answer = [int(yellow/i+2) ,i+2]
break
answer
def solution(brown, yellow):
answer = []
for i in range(1, yellow+1):
if yellow / i == int(yellow / i):
if 2 * (int(yellow / i) + 2) + (i * 2) == brown:
answer = [int(yellow/i+2) ,i+2]
break
return answer
코드 풀이
level2 치고는 쉬운 문제였다.
여기서 중요하게 봐야 할 것은 카펫의 가로 길이 >= 카펫의 세로 길이 와 yellow / i 가 실수가 되지 않아야 되는 것 뿐! 만약 yellow 가 24 라면 1 * 24, 2* 12, 3* 8 ... 등으로 크기가 바뀔 것이다.
i 는 그 중 1,2,3... 을 뜻하고 brown 의 개수는 (yellow의 가로 + 2) * 2 + yellow의 세로 * 2 일 테니 비교를 해주면 끝.
300x250
'코딩코딩' 카테고리의 다른 글
[프로그래머스] level1 체육복 - 파이썬(Python) 풀이 (0) | 2020.09.25 |
---|---|
[프로그래머스] level2 - 프린터 : 파이썬(Python) 풀이 (0) | 2020.09.16 |
[프로그래머스] level2 스킬 트리 (0) | 2020.09.09 |
[프로그래머스] level1 완주하지 못한 선수 (0) | 2020.09.02 |
[프로그래머스] level2 더 맵게 - 파이썬(Python) (0) | 2020.08.28 |