본문 바로가기

linked list2

[자바] 프로그래머스 - 행렬과 연산 (Lv4, Java) 문제 : Programmers-행렬과 연산 문제 출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges 필요 알고리즘 개념 Linked List, Deque 이 문제에서는 양방향에서의 삽입, 값 획득이 O(1)로 이루어질 수 있는 자료구조를 사용해야 한다. 따라서 Linked List 혹은 Deque에 대한 개념을 알고 있어야 풀 수 있다. 내 코드에서는 둘 다 사용하지만, 둘 중 하나로만 진행해도 동일한 결과를 얻을 수 있다. rc가 r*c 크기의 배열이라고 할 경우, 이 문제의 경우 그냥 배열 자체만 보고 진행을 하게 되면 shiftRow는 배열의 모든 원소를 건드려야 하므로 O(r*c)가 필요하고, rotate는 맨 위와 맨 아래 행, 그.. 2022. 8. 20.
자료구조 리스트 (List) - Linked List, Array List, Vector 차이점 포함 리스트? (Linked List - 연결 리스트) 일반적으로 '리스트'는 연결 리스트(Linked List)를 뜻한다. 이후 Array List와 Vector를 추가로 설명하기 전까지 모든 설명은 연결 리스트(Linked List)에 대해 다룬다. 리스트는 배열처럼 데이터를 순서대로 표현하는 자료구조 중 하나인데, 구현 방법에 큰 차이가 있다. 배열은 메모리 상에 연속된 공간을 '미리 할당받고' 메모리상에 데이터를 순서대로 넣어 만든 자료구조이다. 리스트는 메모리 상에 데이터가 어디에 있던 신경쓰지 않는다. 'data = [12. 3. 11. -2]'를 배열과 리스트로 표현해보겠다. 위의 정갈하게 메모리상에 순서대로 들어가 있는 것이 배열, 아래쪽에 메모리상에 흩뿌려져 있는 것이 리스트이다. 이 때 배열.. 2021. 9. 30.