https://www.acmicpc.net/problem/2775
2775번: 부녀회장이 될테야
첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다
www.acmicpc.net
문제 자체는 간단한데 풀이 방법에 대해 조금 고민을 했습니다. 범위가 작지 않고 크다면 당연히 인풋 들어올 때마다 계산하는게 사실 맞는거 같긴한데, 어차피 주어진 조건이 1<=k,n<=14라고 되어 있어서 한번 테이블 만들고 거기서 값만 가져오는게 싸게 먹힐것 같았습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
import java.util.*
fun main() {
var apartment = Array(15) { Array(15) { 0 } }
for (i in 0..14){
apartment[0][i] = i // 0 층 초기화
apartment[i][1] = 1 // i 층 1호 초기화
}
for(i in 1..14){
for(j in 2..14){
apartment[i][j] = apartment[i-1][j] + apartment[i][j-1]
}
}
val sc: Scanner = Scanner(System.`in`)
var testCase = sc.nextInt()
for(i in 1..testCase){
var k = sc.nextInt()
var n = sc.nextInt()
println(apartment[k][n])
}
}
|
cs |
'Problem Solving > 백준' 카테고리의 다른 글
[15829] Hashing (0) | 2021.07.05 |
---|---|
[2798] 블랙잭 (0) | 2021.07.05 |
[2231] 분해합 (0) | 2021.07.02 |
[4153] 직각삼각형 (0) | 2021.07.02 |
[10250] ACM 호텔 (0) | 2021.07.02 |