Deep Learning/Algorithm

백준 2775

frances._.sb 2022. 3. 28. 15:15
728x90

 

#2775
t = int(input()) # test case
for i in range(t):
  k = int(input()) # 층
  n = int(input()) # 호
  f0 = [x for x in range(1,n+1)]
  for j in range(k):
    for k in range(1,n):
      f0[k] += f0[k-1]
  print(f0[-1])

 

t는 test case, k,n은 각각 층과 호수라고 할 때,

손으로 직접 계산한다면 다음과 같다.

  1호 2호 3호
0층 1 2 3
1층 1 3(1+2) 5(2+3)
2층 1 4 8
3층 1 5 12

 

위의 표처럼 만들어질 수 있도록 f0 list를 만들어준다.

그 후 층수에 대한 호수만큼 for문을 돌려 k층일 때, (k-1)층의 n의 호수만큼 더해준다.

result는 만들어진 list의 마지막을 뽑아내면 된다.

 

너무 어렵다! 수학이지만 항상 규칙 찾는 건 쉽지만 그걸 코딩으로 옮긴다는 건 브론즈에게 너무 힘들어요..ㅠ

728x90
반응형

'Deep Learning > Algorithm' 카테고리의 다른 글

백준 10757, 10871  (0) 2022.03.31
백준 2839  (0) 2022.03.29
백준 10250  (0) 2022.03.24
백준 2869  (0) 2022.03.23
백준 1193  (0) 2022.03.22