백준's 단계별 풀이

Stage_8 (기본수학1) 2775번 부녀회장이 될테야

푸른잎 뱅갈고무나무 2021. 3. 16. 17:00

 

# k번째 층에 n호까지의 인원수 = [x1, x2, x3, ...., xn] 일때

# 다음층의 인원 = [y1,y2,y3, ..., yn]을 구하는 함수는 아래와 같다. 이때 입력값 Floor_n은 List.

 

def Floor_n1 (Floor_n):

  Floor_next = [sum(Floor_n[0:j]) for j in range(1,len(Floor_n)+1)]

  return Floor_next

 

# Floor_n에 저장된 x1+x2+...+x[j]의 합이 Floor_next의 y[j]가 된다

 

# T = 테스트 개수 / k = 층수 / n = 호수

 

T = int(input())

 

for i in range(T):

  k = int(input())

  n = int(input())

  Floor_n = []

  Floor_n = [j for j in range(1,n+1)]   #0층의 List

  if k == 0print(Floor_n[n-1])         #0층일 경우 그대로 출력

  else:

    for k in range(k-1):

      Floor_n = Floor_n1(Floor_n)       #k-1층까지 List를 구한 후 합출력

    print(sum(Floor_n))

 

 

 

### 느낀점 : 반복되는 작업이 필요한 경우 함수를 통한 접근이 필요.