코딩테스트/기초

백준 2775 부녀회장이 될거야 - python

math_tbro 2022. 1. 7. 01:07

출처

https://www.acmicpc.net/problem/2775

 

2775번: 부녀회장이 될테야

첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다

www.acmicpc.net

 

t = int(input())
for _ in range(t):
    k = int(input())
    n = int(input())
    
    ppl = [i for i in range(1,n+1)]
    
    for x in range(k):
        for y in range(1,n):
            ppl[y] = ppl[y] + ppl[y-1]
    print(ppl[-1])

 

1. 입출력은 늘 하던거라 생략한당

 

2. 문제를 뜯어 보면 이해가 좀 어려웠는데

좀 더 친절하게 써줄 필요가 있다고 생각한다

 

암튼 구조는 다음과 같다


1 4 10 20 35

1 3 6 10 15

1 2 3 4 5

 

이런식으로 바로 밑층에 자신의 호수 까지 사는 모든 사람을 더한 값이 바로 내가 사는 집에 살아야 하는 사람의 수다.

 

3. 일단 가장 밑에 층 리스트를 만들어서 문제를 해결할 것이다.

 

[1,2,3,4,5] 를 만들고 

for 층수 만큼 반복해준다. (k)이면 k-1까지 실행 하므로 딱 밑층까지 실행함을 알 수 있다.

 

그리고 그 다음 바로 이중 포문으로 y를 반복해준다. 이 때 계산과정은 바로 모든 밑의 호수를 더해준것이다.

 

그렇게 리스트를 구한다음 가장 끝에 있는 값을 출력하면 답이 나온다.!

 

좀 헷갈려서 함수 계산과정을 추가한다