programmers- lv.2 (카펫)

이예송·2023년 7월 29일

PS

목록 보기
68/97

문제링크: 카펫

✍🏻 Information

content
언어python
난이도⭐️⭐️
풀이시간8분
제출횟수1
인터넷검색유무no




🍒 My Code

def solution(brown, yellow):
    row,col = 0,0
    for i in range(1,yellow+1):
        if yellow%i==0:
            if (i+2)*(yellow/i+2)==(brown+yellow):
                row,col = max(i+2,yellow/i+2),min(i+2,yellow/i+2)
    return [row,col]




💡 What I learned

  • brown = 2col+2row-4라는건 방정식으로 알았는데 그냥 완전탐색으로 풀었다.
  • 예전에 풀었었던 풀이
def solution(brown, yellow):
    total = brown+yellow
    sum = (brown+4)/2
    row = 0
    column = 0
    
    for i in range(total):
        row = i
        column = sum - row
        if (row-2)*(column-2)==yellow:
            break
    
    answer = [column,row]
    return answer

이때는 수식으로 풀었던것 같다.

0개의 댓글