250x250
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
- 중첩 점
- jest
- 구름톤
- Google 애널리틱스
- 리액트네이티브 엔진
- Jest uuid syntax
- 과제 진행하기
- 헤르메스 엔진
- 구름톤챌린지
- 통신망분석
- 호텔 대실
- 프로그래머스
- JavaScript
- 날짜 테스트
- ResizeObserver
- Leetcode #javascript #알고리즘 #Algorithms #js
- 연결 요소 제거하기
- nextjs-performance
- Hermes Engine
- nextjs
- create-next-app
- mock date
- 귤 고르기
- 테스트 Date
- 테이블 해시 함수
- mutationobserver
- 리액트네이티브
- 구름톤 챌린지
- 자바스크립트
- 최솟갑 구하기
Archives
- Today
- Total
나만보는개발공부블로그
[Array] Plus One 본문
설명
빈칸이 없는 10 이하의 정수의 배열이 있다고 하면 마지막에 하나를 더하고 난후의 결과를 반환하라.
var plusOne = function (digits) {
let check = true;
for (let i = digits.length - 1; i >= 0; --i) {
let digit = digits[i];
if (digits.length - 1 != i && !check) break;
if (digit == 9) {
digits[i] = 0;
check = true;
}
else {
digits[i]++;
check = false;
}
}
if (check) digits.unshift(1);
return digits
};
여러 조건문을 주고 문제를 처리할려다보니 코드가 난잡해져서 discussion의 답안을 보고 참고하며 만들었다.
대부분의 답들은 unshift함수를 사용하였는데 array의 내장객체로 맨앞쪽에 원소를 추가해주는 함수였다. 여러므로 쓸모가 많은 함수인것같다.
반복문으로 배열의 뒷쪽부터 앞쪽까지 돌면서 digit이 9인경우 0 으로 만들어주고 check을 true로 해서 그 앞의 문자도 체크해가면서 9가 아닌경우 false가 나와 반복을 탈출하면서 반환한다 만약 check 변수가 계속 true이면 끝까지 도는 경우라서 마지막에 if(check) 으로 unshift함수로 맨앞에 1을 추가해주면 조건에 충족한다.
'Algorithms > leetcode' 카테고리의 다른 글
merge-two-sorted-lists (0) | 2021.02.11 |
---|---|
Climbing Stair (0) | 2021.02.10 |
Longest Common Prefix (0) | 2021.02.09 |
(String) Length of Last Word (0) | 2021.02.08 |
Two sum (0) | 2021.02.06 |