본문 바로가기

알고리즘/백준

[BOJ] [Python] 2775번 : 부녀회장이 될테야

간단한 예시

 

간단한 예시를 만들어 작성하면서, 어떻게 문제를 풀어야 할 지 생각했다.

그렇게 떠올린 방법은 '재귀함수 사용'

 

 

loop = int(input()) #test

def people(a, b):

    global result

    if(a == 0):
        return b
    else:
        for i in range(1, b+1):
            tmp = people(a - 1, i)
            if(tmp != None):
                result += tmp
              
for i in range(0, loop):
    k = int(input())  # k층
    n = int(input())  # n호

    result = 0

    people(k, n)
    print(result)

 

사실, 이렇게 재귀함수를 사용하면 best 방법은 아니다.

한 번 방문했던 곳은 방문하지 않는 게 좋기 때문이다.

 

python으로 제출할 경우 '시간초과'

pypy로 제출할 경우 '맞았습니다'

 

(음.. 이 문제는 더 고민해야 할 문제같다.)