Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- camera access
- electron-packager
- Each child in a list should have a unique "key" prop.
- react-native-dotenv
- html
- dvh
- nextjs
- augmentedDevice
- npm package
- Can't resolve
- 티스토리 성능
- react-native
- adb connect
- Recoil
- Failed to compiled
- rolldown
- animation
- 이미지 데이터 타입
- silent printing
- camera permission
- github pdf
- ELECTRON
- Git
- github 100mb
- ffi-napi
- device in use
- custom printing
- adb pair
- vercel git lfs
- github lfs
Archives
- Today
- Total
Bleeding edge
[LeetCode] 118. Pascal's Triangle - 자바스크립트 0620 본문
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.모든 삼각형에 1을 처음에 넣는다
2. 위에 삼각형의 좌 우에 해당하는 칸을 더하면서 계속 내려간다!
단지 차이가 있다고 하면, 자바스크립트의 모양은 저렇게 삼각형은 아니기에 모양을 살짝 다른식으로 생각하면 풀이하기가 쉽다.
문제풀이
1. return 할 arr를 answer로 선언한다
const answer = []
2. answer에 주어진 numRows만큼 [ ]빈 정렬을 대입한다. 그리고 그 행렬의 index만큼 1을 push한다.
for (let i = 0; i < numRows; i++) {
answer.push([])
for (let j = 0; j < i + 1; j++) {
answer[i].push(1)
}
}
이제 숫자를 제외한 모양만큼의 모양이 나온다.
3. 우선, 0, 1같은 경우에는 위에 이야기 한대로 좌 우가 없기 때문에 더할 수가 없으니 2부터 인덱스를 시작해야한다. 우선 지금 우리가 넣어야할 인덱스를 순서대로 i , j라고한다면 본인보다 위에 위치한 행렬을 구해야하기 때문에 i-1, 그리고 본인의 위에서 좌우를 골라야 하기 때문에 j - 1 그리고 j를 루프에 넣어서 더한다.
for (let i = 2; i < answer.length; i++) {
for (let j = 1; j < answer[i].length - 1; j++) {
answer[i][j] = answer[i - 1][j - 1] + answer[i - 1][j]
}
}
전체 풀이
var generate = function (numRows) {
const answer = []
for (let i = 0; i < numRows; i++) {
answer.push([])
for (let j = 0; j < i + 1; j++) {
answer[i].push(1)
}
}
for (let i = 2; i < answer.length; i++) {
for (let j = 1; j < answer[i].length - 1; j++) {
answer[i][j] = answer[i - 1][j - 1] + answer[i - 1][j]
}
}
return answer
};'코딩테스트 공부' 카테고리의 다른 글
| [LeetCode] 1154. Day of the Year - 자바스크립트 0621 (0) | 2022.06.21 |
|---|---|
| [LeetCode] 2284. Sender With Largest Word Count - 자바스크립트 0620 (0) | 2022.06.20 |
| [LeetCode] 66. Plus One - 자바스크립트 0620 (0) | 2022.06.20 |
| [LeetCode] 1701. Average Waiting Time - 자바스크립트 0617 (0) | 2022.06.17 |
| [LeetCode] Reverse Prefix of Word - 자바스크립트 0617 (0) | 2022.06.17 |