티스토리 뷰

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

 

2775번: 부녀회장이 될테야

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

www.acmicpc.net

 

 

 

 

 

 

어떤 알고리즘을 짜야할지 고민하다 제한사항을 보고 2차원 배열을 먼저 만들어놓고 해당 층과 호수를 입력했을 때 해당 값을 출력하도록 했다. 

 

 

 

👩‍💻2차원배열 사용 코드 : 성공🌈

 

array = [[0 for col in range(14)] for row in range(15)]
for i in range(15):
  for j in range(14):
    array[0][j] = j+1
    array[i][0] = 1
    if i > 0 and j > 0:
      array[i][j] = array[i-1][j]+ array[i][j-1]
t = int(input())
for i in range(t):
  k = int(input())
  n = int(input())
  print(array[k][n-1])

 

 

array = [[0 for col in range(14)] for row in range(15)]
# 15행 14열을 가진 2차원 배열을 선언하고 0으로 채워준다

 

 

 

 

for i in range(15):
  for j in range(14):
    array[0][j] = j+1
    array[i][0] = 1
    if i > 0 and j > 0:
      array[i][j] = array[i-1][j]+ array[i][j-1]
# 2차원 배열 각 자리에 알맞은 수를 채워준다      
 
t = int(input())
for i in range(t):
  k = int(input())
  n = int(input())
  print(array[k][n-1])
# 층수와 호수를 입력했을 때 해당 자리의 값이 출력되도록 해준다.
# 0층부터 시작하기 때문에 array[k][n]이 아닌 array[k][n-1]

 

 

 

 

🚀결과🚀

 

 

 

Point

1. 2차원 배열 활용하기 
-> 사용법 : 0으로 먼저 채우기
-> [[0 for col in range(열)] for row in range(행)]

 

댓글
최근에 올라온 글
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Total
Today
Yesterday