만족은 하되 안주하지는 말자

기록해야 기억한다

프로그래밍/programmers&bj

[C++][알고리즘] 백준 16395번 파스칼의 삼각형

D36choi 2019. 9. 22. 16:22
728x90

문제

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

 

16395번: 파스칼의 삼각형

파스칼의 삼각형은 이항계수를 삼각형 형태로 배열한 것인데, 블레즈 파스칼(1623-1662)을 따라 이름 붙여졌다. 단순한 형태로, 파스칼의 삼각형은 다음과 같은 방법으로 만들 수 있다. N번째 행에는 N개의 수가 있다. 첫 번째 행은 1이다. 두 번째 행부터, 각 행의 양 끝의 값은 1이고, 나머지 수의 값은 바로 위 행의 인접한 두 수의 합이다. 예를 들어, n=3이면 3번째 행의 2번째 수는 위 행의 인접한 두 수 (1과 1)을 더해서 만든다.  n

www.acmicpc.net

테마

이항계수 문제. 특별히 추가적인 STL 필요 없다.

울 학교 코딩대회 B번 문제. 난 너무 부족함을 느낀다.

 

코드

 

반성

숏코드보면 나의 절반 정도 길이로 끝낸다.

나는 1차원 배열 2개를 이용해 계산했지만 2차원배열 1개만 선언해도 만들 수 있다. 굳이

for반복문을 통해 배열복사를 할 필요도 없는 것. 

또다른 큰 차이는 파스칼의 삼각형을 미리 다 만들어 놓는지 아니면 나처럼 N의 크기만큼만 만드는지의 차이다.

이 것은 각기 특징이 달라서 정답은 없는 느낌.

 

걸린시간 : 20분