#️⃣ Project 및 개발일지/Algorithm 문제 풀이

파이썬으로 배우는 알고리즘 책을 공부하며 풀었던 LeetCode문제들을 재정리해보자. # 문제 설명 328번 Odd Even Linked List는 입력받은 연결 리스트를 홀수 번째 노드 다음에 짝수 번째 노드가 오도록 재구성하는 문제이다. # 풀이방법 1 - 연결리스트 값을 리스트로 저장 후, 연결리스트로 변환 (내 풀이) # Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # self.next = next class Solution: def oddEvenList(self, head: Optional[ListNode]) -> Optional[ListNode..
파이썬으로 배우는 알고리즘 책을 공부하며 풀었던 LeetCode문제들을 재정리해보자. # 문제 설명 24번 Swap Nodes in Pairs는 입력받은 연결 리스트를 페어단위로 스왑하는 문제이다. 위 문제는 혼자 풀려고 해보았지만, 푸는 도중에 꼬이고 어떤식으로 풀어야할지 전혀 감이 잡히지 않아 책 풀이를 참고하였다. 책 풀이 코드를 이해하며 작성하는 시간을 가졌다. # 풀이방법 1 - 반복 구조로 스왑 (책 풀이 참고) # Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # self.next = next class Solution: def swapPair..
파이썬으로 배우는 알고리즘 책을 공부하며 풀었던 LeetCode문제들을 재정리해보자. # 문제 설명 2번 Add Two Numbers는 주어진 두 연결리스트를 앞에서 부터 차례로 더하는 문제이다. # 풀이방법 1 - 반복문과 carry 이용 (내 풀이) # 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]: root = result ..
파이썬으로 배우는 알고리즘 책을 공부하며 풀었던 LeetCode문제들을 재정리해보자. # 문제 설명 206번 Reverse Linked List 는 연결 리스트를 뒤집는 문제이다. # 풀이방법 1 - 재귀함수 & Queue 이용(내 풀이) # Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # self.next = next class Solution: def reverseList(self, head: Optional[ListNode]) -> Optional[ListNode]: # reverse 함수에서 노드의 값을 저장하는 큐 values = deque() ..
파이썬으로 배우는 알고리즘 책을 공부하며 풀었던 LeetCode문제들을 재정리해보자. # 문제 설명 234번 Palindrome Linked List 는 연결 리스트가 팰린드롬 구조인지 판별하는 문제이다. * 펠린드롬 : 앞뒤가 똑같은 단어나 문장 # 풀이방법 1 - value값 리스트 저장 후 판별 (내 풀이) # Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # self.next = next class Solution: def isPalindrome(self, head: Optional[ListNode]) -> bool: values = [] node ..
파이썬으로 배우는 알고리즘 책을 공부하며 풀었던 LeetCode문제들을 재정리해보자. # 문제 설명 15번 3Sum은 배열을 입력받아 합으로 0을 만들 수 있는 3개의 요소를 출력하는 문제이다. 단 결과에 중복된 요소 집합이 포함되면 안 된다. 위 문제를 풀려고 시도했지만 시간 초과로 떴고, 다른 방법은 생각나지 않아 우선 책 풀이를 참고하였다. # 시도 1 (Time Limit Exceeded) - 3중 for문 ...당연히 시간 초과로 뜸. 더보기 class Solution: def threeSum(self, nums: List[int]) -> List[List[int]]: result =[] nums.sort() len_nums = len(nums) print(nums) for i in range(..
HyeM207
'#️⃣ Project 및 개발일지/Algorithm 문제 풀이' 카테고리의 글 목록 (2 Page)