PS/LeetCode
[Leet Code] 066 Plus One
시옷지읏
2021. 11. 5. 18:21
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
풀이.
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;
}
};