<Easy> Pascal's Triangle (LeetCode : C#)

이도희·2023년 5월 6일
0

알고리즘 문제 풀이

목록 보기
72/185

https://leetcode.com/problems/pascals-triangle/

📕 문제 설명

파스칼 삼각형의 행들 반환

  • Input
    행 개수 (int)
  • Output
    파스칼 삼각형 행 (IList)

예제

풀이

1) 1, 2번째 base로 넣기
2) 1 앞뒤로 붙이고, 중간은 이전 리스트에서 각각 합으로 구하기

public class Solution {
    public IList<IList<int>> Generate(int numRows) {

        List<IList<int>> answerList = new List<IList<int>>();
        
        answerList.Add(new List<int> {1});
        if (numRows == 1) return answerList;
        answerList.Add(new List<int> {1, 1});
        if (numRows == 2) return answerList;
        
        for (int i = 2; i < numRows; i++)
        {
            IList<int> prevList = answerList[answerList.Count - 1];
            List<int> currList = new List<int>();
            currList.Capacity = i;
            currList.Add(1);
            for (int j = 0; j < prevList.Count; j++)
            {
                if (j == prevList.Count - 1) break;
                currList.Add(prevList[j] + prevList[j + 1]);
            }
            currList.Add(1);
            answerList.Add(currList);
        }

        return answerList;
    }
}  

결과

profile
하나씩 심어 나가는 개발 농장🥕 (블로그 이전중)

0개의 댓글