728x90
# 문제 정보
# 정답 코드
import java.util.Scanner;
class Solution {
public static void main(String args[]) throws Exception {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for (int test_case = 1; test_case <= T; test_case++) {
int N = sc.nextInt();
int[][] pascal = new int[N][N];
System.out.println("#" + test_case);
for (int r = 0; r < N; r++) {
for (int c = 0; c < N; c++) {
if (r < c) {
pascal[r][c] = 0;
} else if (c == 0 || r == c) {
pascal[r][c] = 1;
System.out.print("1 ");
} else {
pascal[r][c] = pascal[r-1][c-1] + pascal[r-1][c];
System.out.print(pascal[r][c] + " ");
}
}
System.out.println();
}
}
}
}
NxN 크기의 2차원 배열로 파스칼 삼각형을 구현한다.
pascal[1][3]처럼 행보다 열이 큰 경우에는 0을 저장한다.
pascal[1][0] 또는 pascal [1][1]처럼 열이 0이거나 행과 열이 같은 경우에는 1을 저장한다.
나머지 경우에는 'pascal[행][열] = pascal[행-1][열-1] + pascal[행-1][열]'의 식을 사용해 저장한다.
728x90
'SW Expert Academy' 카테고리의 다른 글
| [1989] 초심자의 회문 검사 (JAVA) (0) | 2026.05.14 |
|---|---|
| [2001] 파리 퇴치 (JAVA) (0) | 2026.05.14 |
| [2007] 패턴 마디의 길이 (JAVA) (0) | 2026.05.14 |
| [1926] 간단한 369게임 (JAVA) (0) | 2026.05.14 |
| [1859] 백만 장자 프로젝트 (JAVA) (0) | 2026.05.14 |