Baekjoon 2775번 부녀회장이 될테야
https://www.acmicpc.net/problem/2775
| 3층 | 1호 1명 | 2호 1+{1+(1+2)}명 | 3호 1+{1+(1+2)}+{1+(1+2)+(1+2+3)}명 |
|---|---|---|---|
| 2층 | 1호 1명 | 2호 1+(1+2)명 | 3호 1+(1+2)+(1+2+3)명 |
| 1층 | 1호 1명 | 2호 1+2명 | 3호 1+2+3명 |
| 0층 | 1호 1명 | 2호 2명 | 3호 3명 |
다음과 같은 규칙이 존재할 때 숫자를 세는 것을 List를 이용하는 것이 편하다고 생각했지만
List를 2번 돌린다고 생각하니 시간복잡도가 너무 복잡해져서 결과의 만족도에 실망감이 크다. 최소 시간복잡도를 n^2로만이라도 잡는다면 좋겠는데.... 나의 한계를 맞보다...
# 첫 제출본 - 성공 그러나 시간복잡도 n^3
T=int(input())
for t in range(T):
k=int(input()) #층 floor
n=int(input()) #room Num
LowfloorList=[x+1 for x in range(n)]
UpperfloorList=[]
sumLow=0
for i in range(k):
for j in range(n):
sumLow += LowfloorList[j]
UpperfloorList.append(sumLow)
sumLow=0
LowfloorList = UpperfloorList
UpperfloorList =[]
print(LowfloorList.pop())
ALL RIGHT RESERVED TWINSTARINFO
