알고리즘/이론
[알고리즘] 링크드리스트의 값들을 자리대로 숫자로 만들어 합하기
자바칩 프라푸치노
2021. 6. 13. 15:49
class Node:
def __init__(self, data):
self.data = data
self.next = None
class LinkedList:
def __init__(self, value):
self.head = Node(value)
def append(self, value):
cur = self.head
while cur.next is not None:
cur = cur.next
cur.next = Node(value)
def get_linked_list_sum(linked_list_1, linked_list_2):
sum_1 = get_linked_list_sum(linked_list_1)
sum_2 = get_linked_list_sum(linked_list_2)
return sum_1+sum_2
def _get_linked_list_sum(linked_list):
sum = 0
head = self.head
while head is not None:
sum += sum*10 + head
head = head.next
return sum
linked_list_1 = LinkedList(6)
linked_list_1.append(7)
linked_list_1.append(8)
linked_list_2 = LinkedList(3)
linked_list_2.append(5)
linked_list_2.append(4)
print(get_linked_list_sum(linked_list_1, linked_list_2))
링크드 리스트에서 head부터 차례대로 꺼내는데
첨에는 6 -> 6*10 + 7 -> 67*10 + 8 이런식으로 되어야한다
sum에 값을 저장하고 다음에는 10을 곱한 다음 값을 저장하는 식으로 반복문을 돌려야한다
728x90