Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- dynamic programming
- JavaScript
- JavaSceipt
- leetcode
- Algorithm
- 프로그래머스
- CSS
- 컴포넌트
- greedy
- string
- sorting
- SasS
- Python
- vue.js
- 백준
- 알고리즘
- github
- hash table
- java
- 자료형
- array
- math
- 코딩테스트
- 자료구조
- computed
- scss
- 파이썬
- JS
- HTML
- 변수
Archives
- Today
- Total
Posis
[LeetCode][JavaScript] 66. Plus One 본문
[LeetCode][JavaScript] 66. Plus One
문제 출처: https://leetcode.com/problems/plus-one/
[직접 푼 코드]
var plusOne = function(digits) {
for (let i = digits.length - 1; i >= 0; i--) {
if (digits[i] !== 9) {
digits[i]++;
return digits;
}
digits[i] = 0;
if (i === 0) {
digits.unshift(1);
return digits;
}
}
};
[문제 풀이]
1. 반복문을 배열의 맨 뒤부터 앞으로 순환하게 만듭니다.
2. 맨 뒤에 숫자가 9가 아닐경우 +1을 해주고 배열을 반환합니다.
3. 9일 경우 0을 넣어주고 배열의 위치가 맨 앞이 아니라면 다시 반복문을 돕니다.
4. 만약 배열의 위치가 맨 앞이라면 배열의 맨앞에 1을 추가합니다. (unshift 메서드)
[글을 쓰면서 생각난 점]
알고리즘을 정리하면서 반복문은 필요없지 않을까라는 생각에 for문을 제거후에 시도했지만 [9, 9]같은 9가 여러개가 있는 배열에서 막혀서 반복문이 필요하다는 것을 느낌
알고리즘 스터디: https://github.com/ROUTINE-STUDY/Algorithm
누구나 참여 가능한 알고리즘 스터디입니다.
알고리즘뿐만 아니라 개발을 하면서 겪은 이슈, 이론을 정리하는 Routine-Study를 운영 중입니다.
728x90
'알고리즘 > leetcode' 카테고리의 다른 글
[LeetCode][JavaScript] 1323. Maximum 69 Number (0) | 2021.07.29 |
---|---|
[LeetCode][JavaScript] 389. Find the Difference (0) | 2021.07.29 |
[LeetCode][JavaScript] 58. Length of Last Word (0) | 2021.07.28 |
[LeetCode][JavaScript] 860. Lemonade Change (0) | 2021.07.28 |
[LeetCode][JavaScript] 1859. Sorting the Sentence (0) | 2021.07.28 |