728x90
반응형
1. 문제 설명
2. 풀이과정
- sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys
- 테스트 케이스 개수를 입력받는다. T = int(sys.stdin.readline())
- 각 테스트 케이스 횟수만큼 반복하며 for _ in range(T)
- 층 수를 입력받고 k = int(sys.stdin.readline())
- 호 수를 입력받는다. n = int(sys.stdin.readline())
- 각 층과 호 수별 사람의 수를 리스트로 생성한다. n_people = list()
- 가장 기본이 되는 0층의 각 호 수별 사람의 수를 리스트로 묶어 추가한다. n_people.append(list(range(1, n + 1)))
- 다음 1층부터 입력받은 층까지 반복한다. for i in range(1, k + 1)
- 모든 층의 1호는 1명이 거주하므로 1을 리스트로 추가한다. n_people.append([1])
- 다음 호 수부터 입력받은 호까지 반복하며 for j in range(1, n)
- 해당 층의 호 수에 거주하는 사람의 수를 구하여 추가한다. 사람의 수는 같은 층의 앞 호의 사람 수와 같은 호의 아래층 사람의 수를 더하면 된다. n_people[i].append(n_people[i - 1][j] + n_people[i][j - 1])
- 입력받은 층의 호까지 사람의 수를 모두 구했으면 해당 층과 호의 사람 수를 출력한다. print(n_people[k][n - 1])
반응형
3. 소스코드
import sys
T = int(sys.stdin.readline())
for _ in range(T):
k = int(sys.stdin.readline())
n = int(sys.stdin.readline())
n_people = list()
n_people.append(list(range(1, n + 1)))
for i in range(1, k + 1):
n_people.append([1])
for j in range(1, n):
n_people[i].append(n_people[i - 1][j] + n_people[i][j - 1])
print(n_people[k][n - 1])
728x90
반응형
'백준' 카테고리의 다른 글
[백준] 11650번 : 좌표 정렬하기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.17 |
---|---|
[백준] 1427번 : 소트인사이드 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.17 |
[백준] 2920번 : 음계 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.17 |
[백준] 1920번 : 수 찾기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.15 |
[백준] 10989번 : 수 정렬하기 3 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.15 |
[백준] 2667번 : 단지번호붙이기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.15 |
[백준] 2606번 : 바이러스 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.15 |
[백준] 2609번 : 최대공약수와 최소공배수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.13 |