본문 바로가기
파이썬알고리즘

Baekjoon 2775 Python

by zho 2022. 11. 20.

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

 

2775번: 부녀회장이 될테야

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

www.acmicpc.net

Code

case = int(input())

for _ in range(case):
    floor = int(input())
    ho = int(input())
    f_0 = [x for x in range(1, ho+1)]
    for _ in range(floor):
        for i in range(1, ho):
            f_0[i] += f_0[i-1]
    print(f_0[-1])

 

#1 Key Code

f_0 = [x for x in range(1, ho+1)]

Python List comprehension을 이용해 숫자 List를 생성해준다

ex) ho가 10일 때 f_0 = [1,2,3,4,5,6,7,8,9,10]

 

List comprehension Examples

https://www.w3schools.com/python/python_lists_comprehension.asp

 

Python - List Comprehension

W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

www.w3schools.com

#2 Key code

    for _ in range(floor):
        for i in range(1, ho):
            f_0[i] += f_0[i-1]

생성한 List에 층이 올라갈수록 변하는 값을 경신시켜준다. 변화하는 과정을 보기 쉽게 정리해보자.

 

f_0 초기상태 [1,2,3,4,5]

When i = 1
f_0[1] += f_0[0]

f_0 = [1,3,6,10,15]
When i = 2
f_0[2] += f_0[1]

f_0 = [1,4,10,20,35]
When i = 3
f_0[3] += f_0[2]

f_0 = [1,5,15,35,70]

 

입력한 floor와 ho만큼의 list가 생성될 것이기 때문에 

list 중 가장 마지막 값을 출력하면 답이다.

f_0[i] += f_[i-1] 동작예시

 

728x90

'파이썬알고리즘' 카테고리의 다른 글

백준 2805 파이썬  (0) 2023.12.21
백준 6603 파이썬  (0) 2023.02.06
Baekjoon 5355 Python  (0) 2022.11.19
백준 10816 파이썬  (0) 2022.05.26
백준 10250 파이썬  (0) 2022.05.15