본문 바로가기

코딩 테스트/백준 파이썬 문제 풀이

[백준 2775번 파이썬] 부녀회장이 될테야

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

 

이번 문제는 우선 케이스 개수를 입력받고

각각 층수와 호수를 한 줄씩 입력받아 각 케이스 위치에 몇 명의 거주민이 있는지를 출력하는 문제이다

이때 거주민은 자신의 층수 밑, 호수 밑에 위치한 모든 거주민들을 더한 수다

 

num = int(input())
for _ in range(num):
    floor = int(input())
    room = int(input())
    f = [x for x in range(1, room+1)]
    for k in range(floor):
        for i in range(1, room):
            f[i] += f[i-1]
    print(f[-1])

보다 쉽게 설명할 수 있는 그림을 살펴보자면

1층에는 이미 각 호수만큼의 사람들이 들어와 살고 있다

입력받은 층수와 호수에 위치한 방에는 위와 같이 사각형을 그려

그 안에 위치한 모든 방들 안에 있는 거주민들을 다 더한 수의 거주민이 존재하게 된다

그러므로 정답 코드로 자신의 층수 밑, 자신의 호수까지의 거주민 수를 다 더하는 식을 넣어주면 된다