Lumpy Space Princess - Adventure Time
코딩테스트/백준

백준 [2775] - 부녀회장이 될테야

yaebb_82 2022. 8. 25.

 

문제

 

 

 

 

작성한 코드

import sys

input = sys.stdin.readline

T = int(input())

for i in range(T):
    k = int(input())
    n = int(input())

    floor_0 = list()
    
    for j in range(1, n+1):
        floor_0.append(j)
            
    for a in range(k):
        counts = list()
      
        for b in range(n):
            counts.append(sum(floor_0[:b+1]))
        floor_0 = counts
            
    print(counts[-1])

- sys.stdin.readline을 input에 할당하여 사용한다.

- input()으로 문자를 입력받고, int형으로 형변환하여 T에 저장한다. (T는 테스트 케이스 개수)

- for i in range(T): T만큼 반복문 for문을 돌린다.

- for문을 돌릴 때마다, input()으로 문자를 입력받아, int형으로 형변환하여 k와 n에 저장한다. (k는 층, n은 호)

- 0층 사람들의 인원 수를 저장할 floor_0 리스트를 선언해준다.

- for j in range(1, n+1): 1부터 n까지 하나씩 floor_0에 append()로 추가해준다.

- for a in range(k): k만큼 반복문 for문을 돌린다. (0층 ~ k층 밑의 층까지)

- 1호부터 n호까지의 인원 합을 담을 list인 counts를 선언해준다.

- for b in range(n): n만큼 반복문 for문을 돌린다. (호수는 1부터지만 배열은 0부터 시작하기 때문에 0에서 n-1까지로 범위를 잡았다.)

- 슬라이싱을 통해 floor_0[:b+1] 만큼 sum()으로 합계를 구한 뒤, append()로 counts에 추가해준다.

- floor_0에 counts 리스트 값을 집어넣어 층을 높인 뒤, 다시 for문을 돌려 계산하게 된다.

- 마지막에는 counts의 마지막 값을 print()로 출력한다. ([-1] : 마지막 값)

 

 

 

반응형

'코딩테스트 > 백준' 카테고리의 다른 글

백준 [10757] - 큰 수 A+B  (0) 2022.08.25
백준 [2839] - 설탕 배달  (0) 2022.08.25
백준 [10250] - ACM 호텔  (0) 2022.08.25
백준 [2869] - 달팽이는 올라가고 싶다  (0) 2022.08.24
백준 [1193] - 분수찾기  (0) 2022.08.24

댓글