알고리즘 공부

less than 1 minute read

카펫 - 완전탐색
https://programmers.co.kr/learn/courses/30/lessons/42842
겉에 한줄은 갈색 안에는 노란색으로 채워졌고,
갈색과 노란색이 주어진 문제
전체 넓이를 구해서 그 약수 중에 yellow 갯수가 되는 걸 답으로 구했다.
다른 풀이도 비슷한 것 같다.
둘레의 길이도 생각할 수 있다.
잘한 건 3부터 구했다는거.. 근데 걸리는 시간은 비슷하다.

def solution(brown, yellow):
    answer = []
    sum = brown + yellow
    for i in range(3, int(sum/2)):
        if sum%i==0:
            if (i-2)*((sum/i)-2)==yellow:
                answer.append(max(i, sum/i))
                answer.append(min(i, sum/i))
                break
    return answer

소요시간 ; 15분