Pascal's Triangle
import java.util.ArrayList;
class Solution {
public List<List<Integer>> generate(int numRows) {
// pascal 결과를 담을 2차원 ArrayList 생성
List<List<Integer>> pascal = new ArrayList<>();
// pascal Row의 구현을 시행하고 pascal에 넣어준다
for (int i = 0; i < numRows; i++) {
// Row 별로 하나의 ArrayList 만들어줌
List<Integer> pascalRow = new ArrayList<>();
for (int j = 0; j <= i; j++) {
// 맨 처음 인덱스랑 제일 뒤의 인덱스는 1
if (j == 0 || j == i) {
pascalRow.add(1);
// 그 외의 인덱스는 i-1의 j-1과 j값 더하기
} else {
pascalRow.add(pascal.get(i-1).get(j-1) + pascal.get(i-1).get(j));
}
}
// pascal에 하나씩 대입
pascal.add(pascalRow);
}
// 완성된 pascal 리턴
return pascal;
}
}
#99클럽 #코딩테스트 준비 #개발자 취업 #항해99 #TIL