s5unnyjjj's LOG
[홀로 하는 코딩 공부] 002. Add Two Numbers(Python) 본문
LeetCode
사용 언어: Python
문제 링크: https://leetcode.com/problems/add-two-numbers/
*** 본 문제를 푸는 과정을 공유하려 한다.
▶ 차근차근 하나씩 단계를 나누어 보았으며, 크게 3개의 STEP으로 나누어진다. (이 역시 그림으로 그려보니 수월했다.)
▶ 그렇게 각 단계를 포함한 기능들 코드로 작성하면 아래와 같다.
class Solution:
def addTwoNumbers(self, l1: Optional[ListNode], l2: Optional[ListNode]) -> Optional[ListNode]:
reverse_l1 = self.reverse(l1)
final_l1 = self.changeList(reverse_l1)
reverse_l2 = self.reverse(l2)
final_l2 = self.changeList(reverse_l2)
ans = int(''.join(str(e) for e in final_l1)) + int(''.join(str(e) for e in final_l2))
return self.changeLikednode(str(ans))
def reverse(self, head):
node, prev = head, None
while node is not None:
temp = node.next
node.next = prev
prev = node
node = temp
return prev
def changeList(self, head):
node = head
ary = []
while node is not None:
ary.append(node.val)
node = node.next
return ary
def changeLikednode(self, contents):
head = None
for content in contents:
node = ListNode(content) # Step1
node.next = head # Step2
head = node # Step3
return node
>> 위 내용은 필자가 알고리즘 문제를 푼 코드입니다.
>> 부족한 점이 많을 수 있기에 잘못된 내용이나 궁금한 사항이 있으면 댓글 달아주시기 바랍니다.
>> 긴 글 읽어주셔서 감사합니다.
반응형
'Algorithm > Python' 카테고리의 다른 글
[홀로 하는 코딩 공부] 퍼즐 게임 챌린지 (Python) (4) | 2024.09.10 |
---|---|
[홀로 하는 코딩 공부] 연속 부분 수열 합의 개수 (Python) (0) | 2024.07.01 |
[홀로 하는 코딩 공부] 택배상자(Python) (0) | 2024.06.13 |
[홀로 하는 코딩 공부] 206. Reverse Linked List(Python) (0) | 2024.05.28 |
[홀로 하는 코딩 공부] 012. Merge Two Sorted Lists(Python) (0) | 2024.05.27 |
Comments