Stack 4

[백준 - 10828 Java] 스택

기본적인 스택 문제였다. 그냥 스택을 쓰면 되는 문제였겠지..? 배열을 썼어야한건가... 일단 통과 import java.util.*; import java.io.*; public class Main { static Stack stack = new Stack(); public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int count = Integer.parseInt(br.readLine()); for (int i = 0; i < count; i++) { int num = myStack(br.readLine()); if (n..

[백준 - 1406 Java] 에디터

실버 2의 문제로 자료구조를 어떻게 사용하는지를 익힐 수 있는 문제였다. 주어진 문제에서 문자를 삽입하고, 삭제하는 조건들이 있어 LinkedList를 사용하면 찰떡이라고 생각해서 문제를 풀었다. import java.util.*; import java.io.*; public class Main { static int cursor = 0; static List list = new LinkedList(); public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // Scanner scanner = new Scanner(Syste..

[OS] Stack & Heap, 프로세스 & 스레드

Stack & Heap Stack 메모리 함수나 메소드가 호출될때 스택 프레임이 스택 메모리에 쌓인다 그 스택 프레임 안에 매개 변수와 지역 변수가 저장됨 Heap 메모리 모든 객체(Object)는 여기에 저장됨 참조 변수 객체의 메모리 주소값을 저장하는 변수 ex) Counter c = new Counter(); 프로세스, 스레드 프로그램 : 컴퓨터가 실행 할 수 있는 명령어의 집합 프로세스 : 컴퓨터에서 실행중인 프로그램 각각의 프로세스는 독립된 메모리 공간을 할당 받음 발전 순서 단일 프로세스 시스템 : CPU 하나에 한 개의 프로세스 동작 CPU 사용률이 좋지 않음 → 여러개 프로그램을 메모리에 올려놓고 동시에 실행! 멀티 프로그래밍 CPU 사용시간이 길어지면 다른 프로세스는 계속 대기 해야함 멀..

[Data Structure] Array, ArrayList, Stack, Queue

Array vs Array List Array 가장 기본적인 자료구조로 논리적 저장순서와 물리적 저장순서가 동일하다. Index로 element에 접근할 수 있으므로 Big-O(1)에 해당한다. Random Access가 가능하다 삭제 또는 삽입은 시간이 더 걸린다 element에 접근 → 동작 필요 : O(1) + a 두 경우 모두 빈공간 혹은 추가 공간에 대한 shift가 필요하기 때문에 O(n)이 필요 Linked List 삭제와 삽입에 대한 추가 시간 할애를 해결하기 위해 Linked List를 사용한다. 각각 원소들은 자기 자신 다음에 어떤 원소가 오는 지만 기억하고있다. ⇒ 그래서 중간에 끼워넣든 빼든 상관없기때문에 삭제와 삽입이 O(1)이다. 그러나 원하는 위치를 찾기 위해서는 Searchi..