[level 2] 카펫 - 42842

우하학·2024년 11월 14일

프로그래머스

목록 보기
13/14

아니 왤캐 어렵게 풀었는지 모르겠다
사실 풀긴 했는데 제대로 이해가 되진 않았다
대충 알아서 풀겠지 하고 돌렸는데 풀렸을 뿐이다...

def solution(brown, yellow):
    tot = brown + yellow
    for i in range(3, tot):
        if tot % i == 0 :
            width = i
            height = int(tot/i)
            if (width - 2) * (height - 2) == yellow and width >= height:
                return [width, height]
  1. 전체 타일 수를 구하기
  2. 3부터 전체 타일 수까지 for문 돌면서 하나씩 가로 길이로 만들기
  3. 가로 길이와 전체 타일 수가 나뉘어 떨어진다면 몫을 높이로 지정하기
  4. 가로 -2 세로 -2를 했을 때 yellow와 같고 가로가 더 긴 경우에 return하고 끝내기

profile
코린이 탈출기

0개의 댓글