https://leetcode.com/problems/add-two-numbers/
내 코드
# 11:15 ~ 11:58 (43")
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:
def addTwoNumbers(self, l1: Optional[ListNode], l2: Optional[ListNode]) -> Optional[ListNode]:
tmp_l1 = []
while l1.next:
tmp_l1.append(str(l1.val))
l1 = l1.next
tmp_l1.append(str(l1.val))
tmp_l1.reverse()
tmp_l2 = []
while l2.next:
tmp_l2.append(str(l2.val))
l2 = l2.next
tmp_l2.append(str(l2.val))
tmp_l2.reverse()
tmp_l1 = "".join(tmp_l1)
tmp_l2 = "".join(tmp_l2)
num = int(tmp_l1) + int(tmp_l2)
list_num = [int(n) for n in str(num)]
pre = ListNode(list_num[0], None)
for i in range(1, len(list_num)):
new = ListNode(list_num[i], pre)
pre = new
return pre
위 코드에서는 숫자 계산을 위해 문자열로 변환하는 과정을 사용했는데 그냥 *10*i 해서 자릿수에 맞게 계산한 뒤 풀어도 될 것 같다. ListNode는 next 값이 없는 맨 뒤 노드부터 연결해주었다!
'Coding Test > Python' 카테고리의 다른 글
[백준] 15686번: 치킨 배달(골드5, 파이썬) (0) | 2024.01.04 |
---|---|
[LeetCode] 199. Binary Tree Right Side View (medium, python) (0) | 2024.01.03 |
[백준] 15685번: 드래곤 커브(골드3, 파이썬) (1) | 2024.01.02 |
[백준] 15683번: 감시 (골드4, 파이썬) (0) | 2024.01.02 |
[백준] 14891번: 톱니바퀴 (골드5, 파이썬) (1) | 2023.12.30 |