no image
[항해99] Queue
큐? 큐는 줄서기와 같다. 앞에 온 사람이 먼저 해결되는 방식이라고 생각하자. 영어로는 FIFO ( First In First Out ) 이라고 한다. 큐 Structure class Node: def __init__(self, item, next): self.item = item self.next = next class Queue: def __init__(self): self.front = None def push(self, value): if not self.front: self.front = Node(value, None) return node = self.front while node.next: node = node.next node.next = Node(value, None) def pop(se..
2023.12.14
no image
[항해99] Stack
Stack 한쪽으로만 넣고 뺄 수 있는 자료구조. 회식을 예시를 들어보겠습니다. 보통 자리가 많은 회식 테이블은 가생이에 있기 마련입니다. 인원이 앉을 때 순서대로 들어간다면 F - E - D - C - B - A 순으로 들어가서 앉겠죠. 회식이 무르익습니다. 아아... 신입사원 김씨는 F자리에 앉았는데 눈이 캄캄해집니다.. 나가기에 공간이 충분하지 않은거죠... 화장실을 가기 위해 앉은 자리에서 모든 자리 사람들을 일으켜서 밖으로 내보냅니다. 화장실을 가야죠. 모든 직원이 다 자리에서 나오고 나서야, 김씨는 화장실을 갈 수 있었습니다. 화장실을 다녀온 김씨는 아뿔싸! 하고 말았습니다. 왜일까요?~~ 더보기 다시 김씨가 제일 안쪽 자리에 앉으려면 다시 모든 직원이 나와야 하거든요.. 다소 썰렁한 개그였지..
2023.12.14
no image
[항해99] LinkedList
Linked List Linked List란 ? 각 노드간 연결된 형태로 표현하는 자료구조 그러면 Array List랑 차이는 뭔데? ArrayList : 자료의 접근은 쉬움. 예를들어 4번째에 있는 값을 가져와! 라고 할 때 파이썬의 경우 lst[3] 를 하면 바로 4번째 값을 받을 수 있다. 자료를 삽입할 때는 어렵다.예를 들어 리스트의 3번째에 4라는 값을 넣어줘! 라고 하면, 기존의 배열에서 3번째부터 끝까지 모든 배열을 한 칸씩 뒤로 밀어준 다음 빈 공간이 3번째에 생기면 거기 쏙 넣어야 해서 어렵다. Linked List : 자료의 접근이 어려움. 4번째에 있는 값을 가져와! 라고 할 때, 첫 노드 head에서부터 한 칸씩 뒤로. 뒤로. 뒤로 해야 4번째에 있는 값을 받을 수 있다. 자료를 삽..
2023.12.13
[항해99] Longest Palindrome Substring
소스코드 https://leetcode.com/problems/longest-palindromic-substring/ 문제 코드- Longest Palindrome Substring class Solution: def longestPalindrome(self, s: str) -> str: # base case 0 , 1개 -> 자기자신 if len(s) = len(b) else b solution_instance = Solution() s = input() ans = solution_instance.longestPalindrome(s) print(ans) 문제 접근 방식 Recursive한 방식으로 접근해보면 어떨까! 라는 생각으로 제일 큰 덩어리에서 만약에 양쪽이 같다면 -> return 처음 글자 +..
2023.12.12