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 | 31 | 
                            Tags
                            
                        
                          
                          - camera access
- adb connect
- npm package
- react-native-dotenv
- augmentedDevice
- 이미지 데이터 타입
- adb pair
- github pdf
- electron-packager
- Recoil
- device in use
- rolldown
- nextjs
- Can't resolve
- Git
- vercel git lfs
- silent printing
- camera permission
- Failed to compiled
- github 100mb
- custom printing
- dvh
- react-native
- html
- animation
- ffi-napi
- github lfs
- 티스토리 성능
- Each child in a list should have a unique "key" prop.
- ELECTRON
                            Archives
                            
                        
                          
                          - Today
- Total
Bleeding edge
[LeetCode] 66. Plus One - 자바스크립트 0620 본문
1회차 풀이에서는 아주 큰 숫자가 대입되서 Wrong!이 나왔다. 문제는 아주 많은 숫자가 들어올 수 있다고 생각하고 BigInt를 사용하여 문제를 풀이하였다.
1. 주어진 문자를 join으로 문자로 만든다 주어진 arr가 [1,2,3]이라고 한다면 123이 된다.
digits.join("")2. 1에서 구한 식을 BigInt로 감싼다. 이 때 결과값은 123n이 된다
BigInt(digits.join(""))3. 2에서 구한식에 BigInt(1)을 더하고, 문자로 바꾼다. 이유는, BigInt는 바로 Split이 안되기 떄문이다.
(BigInt(digits.join("")) + BigInt(1)).toString()4. 3에서 구한 것을 split한 후, 각 문자에 대하여 map을 취하여 숫자로 바꿔준다.
전체풀이
var plusOne = function (digits) {
    return (BigInt(digits.join("")) + BigInt(1)).toString().split("").map((v) => Number(v))
};
테스트케이스를 항상 BigInt를 신경써서 문제를 풀이해야겠다.
'코딩테스트 공부' 카테고리의 다른 글
| [LeetCode] 2284. Sender With Largest Word Count - 자바스크립트 0620 (0) | 2022.06.20 | 
|---|---|
| [LeetCode] 118. Pascal's Triangle - 자바스크립트 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 | 
| [LeetCode] 1299. Replace Elements with Greatest Element on Right Side - 자바스크립트 0617 (0) | 2022.06.17 | 
