카펫
코딩테스트 연습 > 완전탐색 > 카펫
https://programmers.co.kr/learn/courses/30/lessons/42842
for rows in range(brown+yellow,2,-1):
if (brown+yellow) % rows == 0:
cols = (brown+yellow) // rows
if (rows-2) * (cols-2) == yellow and rows>=cols:
[rows,cols]
# 2nd trial
# input values
brown, yellow = 10,2
# We can consider that brown+yellow = area and brown = perimeter
rows = ((brown+4)/2 + (((brown+4)/2)**2-4*(brown+yellow))**0.5)/2
cols = ((brown+4)/2 - (((brown+4)/2)**2-4*(brown+yellow))**0.5)/2
[rows,cols]
# 1st trial
def solution(brown, yellow):
alls = brown+yellow
for rows in range(alls,2,-1):
if alls % rows == 0:
cols = alls // rows
if (rows-2)*(cols-2) == yellow:
return [rows,cols]
# Code test
brown, yellow = 10, 2
solution(brown, yellow)
# 2nd trial
def solution(brown,yellow):
rows = ((brown+4)/2 + (((brown+4)/2)**2-4*(brown+yellow))**0.5)/2
cols = ((brown+4)/2 - (((brown+4)/2)**2-4*(brown+yellow))**0.5)/2
return [rows,cols]
# Code test
brown, yellow = 10, 2
solution(brown, yellow)