알고리즘

[ 프로그래머스 ] 카펫

황성안 2021. 9. 14. 23:12
728x90

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

 

이 문제는... 완전 탐색 문제입니다만.. 완전 탐색으로 풀지 못하였습니다..

 

아무래도 효율성도 수식으로 하는 것이 굉장히 좋을 것으로 판단하여 그냥 수식으로 풀었습니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
def solution(brown, yellow):
    sum_by = brown + yellow
    # print(sum_by)
    # temp = []
    # for i in range(1, sum_by+1):
    #     global y = (sum_by+1) - i
    #     if sum_by % i == 0 and i > sum_by+1:
    #         temp_b = i
    #         temp_y = sum_by//i 
    #         temp.append([temp_b, temp_y])
    #     print(temp_b, temp_y)\
    
    # 스택에 넣어서 
    
    answer_b = (brown +  4 + ((brown + 4** 2 - 16 * (brown + yellow)) ** 0.5/ 4
    answer_y = (brown+yellow) // answer_b
    print(max(answer_b,answer_y), min(answer_b,answer_y))
    answer = [max(answer_b,answer_y), min(answer_b,answer_y)]
    return answer
cs
728x90