알고리즘/leetcode
[LeetCode][JavaScript] 66. Plus One
CooNiHong
2021. 7. 28. 16:33
[LeetCode][JavaScript] 66. Plus One
문제 출처: https://leetcode.com/problems/plus-one/
Plus One - 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

[직접 푼 코드]
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
GitHub - ROUTINE-STUDY/Algorithm: 초보 알고리즘 스터디 / 누구나 참여 가능
초보 알고리즘 스터디 / 누구나 참여 가능 :runner:. Contribute to ROUTINE-STUDY/Algorithm development by creating an account on GitHub.
github.com
누구나 참여 가능한 알고리즘 스터디입니다.
알고리즘뿐만 아니라 개발을 하면서 겪은 이슈, 이론을 정리하는 Routine-Study를 운영 중입니다.
728x90