반응형
https://leetcode.com/problems/pascals-triangle-ii/
Pascal's Triangle II - 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
pascal 삼각형을 구현하는 문제였습니다.
📕 풀이방법
📔 풀이과정
만들어야 할 행의 개수는 numRows만큼, 매 행마다 만들어야할 열의 개수는 각 행번째만큼입니다.이차원 for loop를 수행해 각 행에 필요한 vector tmp에 원소를 구해 저장해줍니다.
1. pascal 삼각형은 i행과 j 열이 같은 값이거나 j열인 경우 1의 값을 가집니다. 이 경우에 tmp에 1을 push_back해줍니다.
2. 다른 경우에는 (i행, j열) 값 = (i-1, j-1) + (i-1, j) 의 규칙을 가지므로 해당 값을 ans로부터 구해 tmp에 push_back해줍니다.
3. 구한 하나의 행인 tmp를 ans에 push_back해줍니다.
📔 정답출력
ans를 반환합니다.
📕 Code
📔 C++
class Solution {
public:
vector<int> getRow(int rowIndex) {
vector <vector<int>> pascal;
for(int i = 0; i <= rowIndex; i++) {
vector <int> v;
for(int j = 0; j <= i; j++) {
if(i == j || j == 0) v.push_back(1);
else v.push_back(pascal[i-1][j-1] + pascal[i-1][j]);
}
pascal.push_back(v);
}
return pascal[rowIndex];
}
};
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > Implementation' 카테고리의 다른 글
(C++) - LeetCode (easy) 171. Excel Sheet Column Number (0) | 2022.12.11 |
---|---|
(C++) - LeetCode (easy) 168. Excel Sheet Column Title (2) | 2022.12.08 |
(C++) - LeetCode (easy) 118. Pascal's Triangle (0) | 2022.11.27 |
(C++) - LeetCode (easy) 69. Sqrt(x) (0) | 2022.11.10 |
(Python) - LeetCode (easy) 67. Add Binary (0) | 2022.11.09 |