배움 저장소
[Leet Code] 066 Plus One 본문
https://leetcode.com/problems/plus-one/
풀이.
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
digits[digits.size()-1]++;
for(int i= digits.size()-1; 0<i; --i)
{
if(digits[i] >= 10)
{
digits[i] = digits[i] - 10;
digits[i-1]++;
}
}
if(digits[0] >= 10)
{
digits[0] = digits[0] - 10;
vector<int> new_digits(1,1);
new_digits.insert(new_digits.end(), digits.begin(), digits.end());
return new_digits;
}
return digits;
}
};
참고
++digits[i] %= 10 이런 표현은 처음보는데 신박하다.
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
for(int i = digits.size() - 1; 0<=i; i--)
{
if (++digits[i] %= 10)
return digits;
}
digits[0] = 1;
digits.push_back(0);
return digits;
}
};
'PS > LeetCode' 카테고리의 다른 글
[LeetCode] 039 Combination Sum (0) | 2021.11.08 |
---|---|
[Leet Code] 046 Permutations (0) | 2021.11.06 |
[Leet Code] 034. Find First and Last Position of Element in Sorted Array (0) | 2021.10.08 |
[Leet Code]055 Jump Game (0) | 2021.10.06 |
[Leet Code]009 Palindorme Number (0) | 2021.05.21 |
Comments