본문 바로가기

카테고리 없음

프로그래머스 카펫 파이썬 Python

728x90
1
2
3
4
5
6
def solution(b, y): #b = 24 y = 24
    minY = b//2-3 #최소 노란색 수 (양쪽 하나만 있을경우가 제일 작은 노란색 수)
    for x in range(1, b): #양쪽 1칸 일 경우부터 양변의 길이가 똑같을 때까지만 하면 되지만, 같아 지기 전에 리턴 하기때문에, 간편하게 이렇게함.
        if minY*== y: #원하는 노란색 수 구해지면, 리턴.
            return [minY+2, x+2]
        minY -= 1 #세로가 한칸씩 늘어날때마다, 가로가 한칸씩 줄어듬.
cs

 

brown = 24

yellow = 24

이렇게 가정하고, 문제풀이 갑니다~

 

1. 최소 노란색 수 구하고 ( 최소 노란색수 = 갈색//2-3)

2로 나눈다음에, 세로 1칸씩 할당하면 최소 노란색수

 

2. 세로를 한칸씩 늘려가면서 노란색 수가 맞는지 확인 노란색 수가 맞으면, 리턴~

 

3. 세로 한칸씩 늘릴때마다, 가로가 한칸씩 줄어듬.

 

728x90