[Python3]프로그래머스_카펫

Beanzinu·2022년 2월 19일

코딩테스트

목록 보기
17/42

문제출처: https://programmers.co.kr/learn/courses/30/lessons/42842

접근법

  1. 가로가 세로보다 길다.
  2. 노란 색깔의 타일은 (가로 - 2) * ( 세로 - 2) 와 같다.
  • 가로가 세로보다 길기때문에 전체 타일의 수의 제곱근 이상의 정수부터 전체타일의 수까지 전체 타일의 수의 약수인 경우에만 2번 조건을 확인하여 만족한다면 정답!

코드

import math as m
def solution(brown, yellow):
    answer = []
    size = brown + yellow
    for i in range( m.ceil( m.sqrt(size) ) , size ):
        if( size % i == 0 and (i-2) * ((size/i)-2) == yellow ):
            answer.extend([i,size/i])
            break
    return answer
profile
당신을 한 줄로 소개해보세요.

0개의 댓글