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
- 스터디
- 정보처리기사
- 서평
- If
- 코드숨
- 2020년 일정
- Jackson
- 2020년 제4회 정보처리기사 필기 문제 분석
- LeetCode
- java
- 항해99
- Real MySQL
- sqldeveloper
- 주간회고
- 필기
- 책리뷰
- 성적프로그램
- 회고
- Python
- algorithms
- 2020년 정보처리기사 4회
- Til
- 뇌정리
- jsp
- git
- 미니프로젝트
- 함수형 코딩
- post
- 알고리즘
- hackerrank
Archives
- Today
- Total
조컴퓨터
66. Plus One 본문
1) digits[n]*1 + digits[n-1]*10 + digits[n-2]*100 + ... + digits[0]*10^n + 1
class Solution {
public int[] plusOne(int[] digits) {
int cnt = digits.length;
int sum = 1;
for( int i=cnt-1; i>=0; i--) {
sum += digits[i]*10^{(cnt-1)-i};
}
//charAt 으로 한 개씩 잘라서 배열하면 된다~~
}
}
2)
i) digits[n] = 1, 2, 3, ... , 8 일 때,
digits[n] = 2, 3, 4, ... , 9 대입
ii) digits[n] = 9 일 때,
digits[n] = 0 대입한 후 digits[n-1] = n의 값 + 1(단, n은 서로 다른 정수)
digits[n-1] = 9 일 때, digits[n-1] = 0 대입한 후 digits[n-2] = n의 값 + 1(단, n은 서로 다른 정수)
...
digits[1] = 9 일 때, digits[1] = 0 대입한 후 digits[0] = n의 값 +1 (단, n은 정수)
* 이 때의 n의 값은 digits.length + 1
class Solution {
public int[] plusOne(int[] digits) {
int cnt = digits.length;
for( int i=cnt-1; i>=0; i-- ) {
if( digits[i] != 9 ) {
digits[i]++;
return digits;
} else if( digits[i] == 9 ) {
digits[i] = 0;
//digits[i+1] += 1;
}
}
int[] newDigits = new int[cnt+1];
newDigits[0] = 1;
return newDigits;
}
}
'LeetCode > Algorithms' 카테고리의 다른 글
*67. Add Binary (0) | 2021.11.02 |
---|---|
58. Length of Last Word (0) | 2021.10.28 |
53. Maximum Subarray (0) | 2021.10.27 |
35. Search Insert Position (0) | 2021.10.20 |
28. Implement strStr() (0) | 2021.10.20 |