알고리즘

LeetCode : : 118번 Pascal's Triangle - C++ 풀이

green333 2022. 1. 3. 19:03
728x90
SMALL

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

 

Pascal's Triangle - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1], [1,5,10,10,5,1], [1,6,15,20,15,6,1]
// 처음, 끝에 1 
// vector(1).[0] + vector(1).[1] = vector(2).[1]
// vector(2).[0] + vector(2).[1] = vector(3).[1] / vector(2).[1] + vector(2).[2] = vector(3).[2]
 
class Solution {
public:
    vector<vector<int>> generate(int numRows) {
        vector<vector<int>> result;
        
        
        for(int i = 0 ; i < numRows ; i++){
            vector<int> each;
            each.push_back(1);
            
            if(i == 0) {
                result.push_back(each);
                continue;
            }      
            
            if(i > 1){
                for(int j = 0 ; j < (i-1) ; j++){
                    each.push_back(result[i-1][j]+result[i-1][j+1]);
                }
            }
            each.push_back(1);
            result.push_back(each);
        }   
        return result;
    }
};
 
 
cs

 

 

2차원 벡터에 값을 넣을때, 별도의 vector 만들어줘야함 !
끝까지 생각하는 연습!
LIST