118. Pascal's Triangle

정수 numRows가 주어지면 파스칼 삼각형의 첫 번째 numRows를 반환

118. Pascal’s Triangle

class Solution {
    // Pascal's Triangle: 바로 위에 있는 두 숫자의 합으로 구성된 삼각형
    public List<List<Integer>> generate(int numRows) {
        List<List<Integer>> triangle = new ArrayList<>();
        
        for (int i = 0; i < numRows; i++) {
            // 각 행의 리스트
            List<Integer> row =  new ArrayList<>();
            
            for (int j = 0; j < i + 1; j++) {
                // 처음값과 마지막 값은 1
                if (j == 0 || j == i) {
                    row.add(1);
                } else {
                    // 이전 열(i-1)의 두 컬럼(j-1, j) 값을 더한 값이 현재 값이 된다.
                    row.add(triangle.get(i-1).get(j-1) + triangle.get(i-1).get(j));
                }
            }
            
            triangle.add(row);
        }
        
        return triangle;
    }
}





© 2017. by yeopoong.github.io

Powered by yeopoong