프로그래머스 - 카펫

rivermt·2023년 9월 20일
0

programmers

목록 보기
6/6

문제

https://school.programmers.co.kr/learn/courses/30/lessons/42842

풀이

수학으로 풀었다. 가끔 만나는 이러한 유형들이 더 어렵게 느껴질 때가 있는 것 같다.

yellow = (r - 2) * (c - 2)
brown = (r * c) - yellow

위 식을 이용해서 완전탐색으로 r 또는 c를 정하여 조건이 만족하는지 살펴보면 된다.

코드

def solution(brown, yellow):
    for r in range(2500):
        c = brown // 2 - r + 2
        if (r-2) * (c-2) == yellow:
            return [max(r, c), min(r, c)]
        
    return[-1, -1]
profile
화이팅!!

0개의 댓글