https://leetcode.com/explore/interview/card/top-interview-questions-easy/92/array/559/
풀이
deque라이브러리를 사용하여 큐를 만들고 각 자릿수가 10을 넘으면 다음 자릿수를 추가하거나 한자리 올려주는 식으로 하려고 하다가, 그냥 단순 캐스팅을 사용하는 것이 더 간단하게 해결할 수 있을 것이라고 생각하였다.
parameter로 주어지는 배열이 정수형 배열이기 때문에 map을 이용하여 문자열로 캐스팅해주고 이를 join메서드로 합쳐준다.
- ex) [1, 2, 3] ==> ["1", "2", "3"] ==> "123"
다시 정수형으로 캐스팅하여 1을 더해준다.
- ex) "123" ==> 123 ==> 124
자릿 수를 하나씩 for문으로 뽑아 쓰기 위해서 다시 문자열로 캐스팅
- 124 ==> "124"
for문을 통해 앞자리부터 뽑아서 정수로 바꿔서 리스트에 append
class Solution:
def plusOne(self, digits: List[int]) -> List[int]:
plus_one = str(int("".join(list(map(str, digits)))) + 1)
digits = []
for i in plus_one:
digits.append(int(i))
return digits
반응형
'Algorithm > Online judge' 카테고리의 다른 글
[LeetCode] Array > Two Sum (0) | 2021.05.07 |
---|---|
[LeetCode] Array > Move Zeroes (0) | 2021.05.07 |
[LeetCode] Array > Intersection of Two Arrays II (0) | 2021.05.06 |
[LeetCode] Array > Single Number (0) | 2021.05.06 |
[LeetCode] Array > Contains Duplicate (0) | 2021.05.06 |