-
[LeetCode/Java] 66. Plus One - A0032022_PPS/2주차 2023. 1. 3. 21:08
- 문제
You are given a large integer represented as an integer array digits, where each digits[i] is the ith digit of the integer. The digits are ordered from most significant to least significant in left-to-right order. The large integer does not contain any leading 0's.
Increment the large integer by one and return the resulting array of digits.

- 알고리즘
만약 마지막 숫자가 9인 경우를 제외하고는 +1을 시켜준다.
9인경우, 그 전의 숫자도 9인지를 파악해서 계산해준다.
모든 수가 9인 경우에는 새로운 배열을 생성하여 첫 수만 1로 변경한 후 return 해준다.
이 문제의 경우, 숫자로 바꾸어 생각하니 너무 수가 커지는 바람에 힘들었던 문제였다.
그러나 조금만 간단하게 생각하면 풀 수 있는 문제였다.
- 코드
class Solution { public int[] plusOne(int[] digits) { int len = digits.length; for(int i = len-1; i>=0; i--){ if(digits[i] < 9){ digits[i]++; return digits; } digits[i] = 0; } int[] newDigits = new int[len+1]; newDigits[0] = 1; return newDigits; } }'2022_PPS > 2주차' 카테고리의 다른 글
[BaekJoon/Java] 2163. 초콜릿 자르기 - A031 (0) 2023.01.05 [BaekJoon/Java] 1159. 농구경기 - A046 (0) 2023.01.05 [BaekJoon/Java] 11721. 열 개씩 끊어 출력하기 - A047 (0) 2023.01.03 [Programmers/Java] 하샤드 수 (0) 2023.01.03 [LeetCode/Java] 258. Add Digits - A023 (0) 2023.01.03