항해99_코테스터디
[항해99]99클럽 코테 스터디 11일차 TIL + 동적계획법
아설아
2024. 6. 7. 22:12
1. 오늘의 학습 키워드 : 동적 계획법(Dynamic Programming)
오늘의 문제와 함께 동적 계획법에 대해 알려주는 블로그예요
2. 오늘의 문제 : Pascal's Triangle
https://leetcode.com/problems/pascals-triangle/description/
파스칼의 삼각형.... 딱봐도 뭔가 공식을 세워 풀어야 할 것 같네요요
3. 풀이
class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> pascalTriangle = new ArrayList<>();
List<Integer> row, prev = null;
for(int i=0; i< numRows;i++){
row = new ArrayList<>();
for(int j = 0; j<=i; j++){
if(j == 0 || j == i){
row.add(1);
}
else{
row.add(prev.get(j - 1) + prev.get(j));
}
}
prev = row;
pascalTriangle.add(row);
}
return pascalTriangle;
}
}
3. 회고
공식을 세운다! 는 것이 재밌기도 한데 어려운 문제를 만나면 머리가 터질 듯 복잡하다. 그래도 문제를 계속 푸니 뭔가 알 것도 같다. 참고사이트들을 보며 다른 사람의 풀이나 생각도 보며 사고를 넓히려 한다.
참고 사이트
https://www.youtube.com/watch?v=AIfMdu-ywFQ