[알고리즘/leetcode] Plus One(python)

유현민·2022년 8월 25일
0

알고리즘

목록 보기
237/253

방법이 두개이다.
1. digits를 int로 합치고 +1을 해준다.
그 다음 문자열로 만들고 리스트로 변환 후 map을 이용하여 int로 변환.


2. for문을 이용해서 맨 뒤 부터 하나씩 계산한다. 만약 현재 숫자가 9이면 flag를 True로 바꾸고 현재 숫자는 0으로 만들고 넘어감 만약 for문이 끝났는데 flag가 True이면 맨 앞에 +1을 더해준다.
class Solution:
    def plusOne(self, digits):
        # n = (int(''.join(map(str, digits)))) + 1
        # return list(map(int, list(str(n))))
        flag = False
        for i in range(len(digits) - 1, -1, -1):
            if digits[i] == 9:
                digits[i] = 0
                flag = True
            else:
                digits[i] += 1
                flag = False
                break
        if flag:
            digits = [1] + digits
        return digits
profile
smilegate megaport infra

0개의 댓글