문제

연결리스트를 구현 한 후 각 노드들의 계산 결과를 구하는 함수를 따로 만들어 연산을 수행 하였다.
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 calc_linked_list(linked_list):
list_sum = 0
head = linked_list.head
while head is not None:
list_sum = list_sum * 10 + head.data
head = head.next
return list_sum
def get_linked_list_sum(linked_list_1, linked_list_2):
list_1 = calc_linked_list(linked_list_1)
list_2 = calc_linked_list(linked_list_2)
result = list_1 + list_2
return result
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값 부터 시작해서 다음 노드 값으로 넘어갈 때 10을 곱한 후 다음 노드의 값을 더해주면 간단하게 결과를 구할 수 있다.
'스파르타 코딩클럽 > 2주차' 카테고리의 다른 글
| 배달 가능 여부 출력하기 (0) | 2022.03.24 |
|---|---|
| 뒤에서 k번째 노드 값(data) 출력하기 (0) | 2022.03.24 |
| 이진 탐색 구현하기 (0) | 2022.03.18 |
| 연결 리스트 추가,삭제,삽입 구현 (0) | 2022.03.17 |