반응형
코딩하기 전 생각하기
/*
이중 벡터를 선언한다.
numRows 숫자만큼 다음을 반복한다.
row 벡터를 선언한다.
row 백터 맨 앞에 1을 추가한다.
이전 row 벡터를 순회한다.
문제 설명에 있는 gif 이미지 처럼
해당 위치의 위에 있는 두 값을 더해 row 벡터에 추가한다.
row 벡터 마지막에 1을 추가한다.
row 벡터를 이중 벡터에 추가한다.
이중 벡터를 반환한다.
*/
코드
class Solution {
public:
vector<vector<int>> generate(int numRows) {
vector<vector<int>> pascal = {{1}};
for ( int i = 1; i < numRows; i++ ) {
vector<int> row;
row.push_back(1);
for ( int j = 1; j < pascal[i-1].size(); j++ )
row.push_back(pascal[i-1][j-1] + pascal[i-1][j]);
row.push_back(1);
pascal.push_back(row);
}
return pascal;
}
};
느낀점
문제를 풀고 LeetCode의 Solution를 확인해보니까 맞게 접근해서 푼거 같다.
(주의) 기록용으로 작성한 글입니다. 코드가 허접하거나 알고리즘의 효율이 낮을 수 있습니다.
댓글 환영합니다!
반응형
'Algorithm > LeetCode' 카테고리의 다른 글
[LeetCode] 14. Longest Common Prefix (C++) (0) | 2021.07.27 |
---|---|
[LeetCode] 38. Count and Say (C++) (0) | 2021.07.25 |
[LeetCode] 455. Assign Cookies (C++) (0) | 2021.07.25 |
[LeetCode] 551. Student Attendance Record I (C++) (0) | 2021.07.24 |
[LeetCode] 844. Backspace String Compare (C++) (0) | 2021.07.24 |
댓글