자료구조

    [자료구조 개발백서] Stack

    학습개요 백준을 풀던 중 만나는 문제들마다 문제 접근이 아닌 구현에서 막히는 경우들이 발생했음. 문제에 접근을 하는 과정은 백준을 풀며 익힐지언정, 구현에서 막히는 것은 학습부족이라 생각하였고, 이를 보완하고자 블로그 정리를 시작하게 됨. 참고자료 https://cocoon1787.tistory.com/691 [Data Structure] 스택(Stack)과 큐(Queue) 개념, 특징, 활용 예시 🔎 스택(Stack)이란? 📘 스택의 개념 스택(stack)이란 어떠한 자료를 쌓아서 올려놓은 형태의 자료구조입니다. 책상에 쌓여있는 책들이나 싱크대의 접시를 예시로 들 수 있습니다. 📝 스택의 특징 cocoon1787.tistory.com 정의: 스택 (Stack) 먼저 들어간 데이터가 나중에 나오는 (La..

    [자료구조 개발백서] Queue

    학습개요 백준을 풀던 중 만나는 문제들마다 문제 접근이 아닌 구현에서 막히는 경우들이 발생했음. 문제에 접근을 하는 과정은 백준을 풀며 익힐지언정, 구현에서 막히는 것은 학습부족이라 생각하였고, 이를 보완하고자 블로그 정리를 시작하게 됨. 참고자료 https://go-coding.tistory.com/6 [자료구조] JAVA로 큐(Queue)구현 Queue Queue는 자료구조의 스택과 반대의 구조라고 생각하면 된다. 큐는 FIFO(First In First Out)의 형태를 가지게 됩니다. 가장 먼저 들어온 데이터가 가장 먼저 나가는 구조를 말한다. Enqueue : 큐 맨 뒤 go-coding.tistory.com 정의: 큐 (Queue) 먼저 들어간 데이터가 먼저 나오는 (First In First..

    [백준] 덱 (10866)

    최종정리 TL;DR Deque에 대한 기능들을 알아보고, 최대한 빠르게 동작할 수 있는 구현체를 개발하는 문제 시행착오 https://devwaffle.notion.site/830fb7b9db344106b4ba498432c31fb5 유의사항 Deque 자체가 Double Ended Queue의 줄임말이다. 카드덱을 말하는게 아님 앞과 뒤에서만 입출력이 발생하므로, 중간에서 입출력이 발생하지 않는다는 것에 중점을 두고 생각하는 것이 좋음 참고기술 LinkedList Deque / ArrayDeque BufferedWriter / BufferedReader 최종코드 풀이코드 package main.practice.dataStructure; import java.io.*; import java.nio.Buff..

    [백준] 에디터 (1406)

    최종정리 TL;DR 최대한 빠르게, 원하는 위치의 값에 접근하는 방법을 찾아 적용하는 문제 시행착오 https://devwaffle.notion.site/3e327f81f6054d1594e2bc56f3dad2f2 메모 빠르게 탐색하는 방법을 찾는것도, 문제가 무엇인지 찾는것도, 어디에서 왜 문제가 발생하는지도 알아가는 것이 어려웠다. 더 많이, 자세히 공부하는 자세를 가질 수 있도록 노력해야 할 것 같다. 유의사항 생각보다 Scanner와 System.out.print는 느리다는 것을 염두할 것 LinkedList의 경우, index를 사용해 접근하면 최대 O(n)만큼의 접근시간이 소요될 수 있음 커서를 단순히 위치값으로 지정하는 방향으로만 생각하지 말것 커서의 시점에서 생각해보기 Iterator가 아무..

    [백준] 요세푸스 문제 (1158)

    최종정리 TL;DR 특정 자리에 있는 대상을 찾아 출력하는 문제 시행착오 https://devwaffle.notion.site/e3d5dab52b0947378760b2464e003f57 유의사항 원형이라는 틀에 갖힌 상태로 생각하지 말것. 원형 연결리스트가 아닌 다른 방법으로도 풀 수 있음 참고기술 단방향 원형 연결리스트 (Single Circular Linked List) 큐 (Queue) 최종코드 풀이코드 package main.practice.dynamicProgramming; import java.util.Scanner; class Person { private int i; private Person next; public Person(int i) { this.i = i; } public Pers..