rueki

SW Expert Academy 2005. 파스칼의 삼각형 본문

C, C++ 문제풀이

SW Expert Academy 2005. 파스칼의 삼각형

륵기 2020. 2. 28. 12:00
728x90
반응형

문제 링크 : 

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5P0-h6Ak4DFAUq&categoryId=AV5P0-h6Ak4DFAUq&categoryType=CODE

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

#include <iostream>
using namespace std;

int main()
{	
	int index = 0;
	int num = 0; // 삼각형 줄 수
	cin >> index; // 테스트 케이스 수
	

	int cur, prv; // 현재 인덱스, 이전 인덱스 나타내주기 위함

	int arr[10][10]; // 삼각형 최대 줄 수가 10이기때문에 10x10 행렬 

	

	for (int Tc = 1; Tc <= index; Tc++) {
		cin >> num; // 줄 수 입력
		cout << '#'<< Tc<<'\n'; //테스트케이스 출력
		for (int i = 0; i < num; i++)
		{
			prv = (i + 1) % 2; //
			cur = i % 2;
			for (int j = 0; j <= i; j++) // 삼각형 출력이므로 열 접근이 행의 수보다 하나 적어야함
			{
				if (j == 0 || j == i)
				{
					arr[cur][j] = 1; (0,0) , (1,1)... 대각 원소들 전부 1
				}
				else
				{
					arr[cur][j] = arr[prv][j - 1] + arr[prv][j]; // 윗 줄의 원소값 더하는 것 표현
                    // 1
                    // 1 1
                    // 1 2 1 -> 1 + 1 = 2
                    // (1,0) + (1,1) = (2, 1)  
				}
			}
			for (int j = 0; j <= i; j++)
			{
				cout << arr[cur][j]<<' '; // 원소들 출력
				
				
			}
			cout << '\n'; // 줄 바꿈
		}
	}





	

	return 0;
}
728x90
반응형
Comments