본문 바로가기

리스트4

LeetCode 19(Remove Nth Node From End of List, java) 0. 문제 https://leetcode.com/problems/remove-nth-node-from-end-of-list/ Remove Nth Node From End of List - 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 1. 문제 설명 - 문제에서 연결 리스트(head)와 정수(n)가 주어진다. - 연결 리스트를 탐색하여 뒤에서부터 n번째에 위치한 노드를 삭제하는 것이 문제의 핵심이다. 2. 문제 해설 a) 첫 번째 접근 - 가장 먼저 떠오르는 방.. 2022. 4. 26.
LeetCode 876(Middle of the Linked List, java) 0. 문제 https://leetcode.com/problems/middle-of-the-linked-list/ Middle of the Linked List - 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 1. 문제 설명 - 문제에서 연결 리스트(head)가 주어진다. - 전체 연결 리스트의 중간에 위치한 노드를 반환하는 것이 문제의 핵심이다. - 만약 중간에 위치한 노드가 2개라면 두 번째 중간 노드를 반환한다. 2. 문제 해설 a) 첫 번째 접근 - 이 .. 2022. 4. 26.
파이썬 배열 - 개념 및 메소드 정리 1. 파이썬의 배열은 리스트다. 파이썬의 배열은 배열이 아니라 리스트이다. 왜 그럴까? 같이 알아보자. a) 파이썬의 배열은 배열의 특징을 갖지 않는다. 컴퓨터 공학의 측면에서 보면 '배열'은 고정된 크기를 갖는다. 그리고 배열의 요소는 모두 동일한 크기를 갖는다는 특징이 있다. 하지만, 파이썬의 배열은 고정된 크기를 갖지 않는다. 이는 '리스트'의 특징이다. b) Dynamic Array 컴퓨터 공학에서 리스트는 index가 아니라 pointer를 사용한다. 포인터는 다음 요소의 값을 가리키는 주소값을 담고 있는 변수다. 이를 메모리 관점에서 보면, 리스트의 요소들은 연속적인 메모리 주소값을 할당받는게 아니라(이는 배열의 특징이다.) 메모리의 여기 저기의 주소값을 할당받아 그 위치에 값이 저장되는 구조.. 2021. 7. 30.
Data Structure - Linked List (2) 1. Linked List - 특정 노드 삭제 - 특정 노드를 삭제하는 경우는 3가지가 있다(첫노드, 중간노드, 마지막노드). 이를 배워보기 전에 베이스로 이용할 연결리스트를 코드로 작성한다. - 위의 코드를 기반으로 3가지 노드 삭제 경우를 처리하기 위한 delete메소드를 작성한다. a) head 노드 삭제 b) 마지막 노드 삭제 & 중간 노드 삭제 2. 다양한 Linked List 구조 - Double Linked List - 연결리스트의 단점은 대용량 자료검색이 힘들다는 점이다. 그 이유는 노드마다 다음 노드의 주소값을 갖고 있기 때문에 1만개의 노드 중 가장 8000번째 노드를 찾는다면 0부터 7999번까지 모든 자료를 보아야 한다. 이런 단점을 해결하기 위해 연결리스트는 다양한 구조로 구현한다.. 2020. 8. 20.