[Leetcode] 2. Add Two Numbers (In Python)
간략한 코드들은 github.com/Eastar-DS/Python 의 Leetcode 폴더에도 있습니다
Eastar-DS/Python
Contribute to Eastar-DS/Python development by creating an account on GitHub.
github.com
문제를 간단하게 요약하자면 342 + 465 = 807 을 linked list를 이용해서 구현하라는 것이다.
342와 465는 각각 linked list에 역순(reverse order)으로 들어가있고, 807을 역순으로 표현한 linked list를 Output값으로 반환하면 된다.
조건을 보면 342는 0342처럼 표현되지 않고 인풋에 들어가있다. 우리는 십진수를 사용하므로 Node.val은 당연히 0~9이고, 더할 숫자는 1~100자리 숫자이다.
전자공학에 계산기를 만들때 sum과 carry라는 개념이 있는데, 최대한 단순하게 보여주자면
1 -> carry 이다.
55
+55
-----
110
이 개념을 도입해서 sum은 파이썬에서 함수이므로 val로, carry는 그대로 사용해서 순차적으로 계산해나가는 방법으로 코딩했다.
다른사람들이 어떻게 풀었는지 모르겠는데 코드가 길다고 생각했지만 생각보다 속도와 메모리 사용량은 적은것으로 나왔다.
모든 문제의 출처는 www.Leetcode.com입니다. leetcode.com/problems/add-two-numbers/
Add Two Numbers - LeetCode
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
leetcode.com
모르시는게 있으시다면 언제든지 댓글로 질문을 남겨주세요. 저에게 큰 공부가 됩니다. 감사합니다.