스택

    Stack과 Heap.. 그리고 Garbage Collection

    Stack과 Heap.. 그리고 Garbage Collection

    JVM의 구조는 클래스로더, 메모리 영역(Runtime Data Area), 실행 엔진, 가비지 컬렉션, 네이티브 메소드 인터페이스(JNI)+네이티브 메소드 라이브러리 로 구성되어있습니다. 그리고 Runtime Data Area 에는 Method Area, Heap, PC Registers, Stack, Native Method Stack 로 구성되어있습니다. (참고) 간단히, 스택과 힙 스택 컴파일 타임에 할당되는 메모리 영역입니다. 원시 타입의 데이터가 값과 함께 할당되고, Heap 영역에 생성된 Object 타입 데이터의 참조 변수(주소값)가 할당됩니다. 프로세스가 메모리에 로드 될 때 스택 사이즈가 고정되어 있어, 런타임 시에 스택 사이즈를 바꿀 수는 없습니다. 힙 런타임에 할당되는 메모리 영역입..

    [Concept] 배열 - 큐와 스택

    #자료구조_배열 [파이썬의 배열] 리스트 활용 1차원, 2차원까지는 알고 있으면 좋다. 같은 종류의 데이터를 순차적으로 저장한다. Q. 왜 필요한가? A. 같은 종류의 데이터를 효율적으로 관리하기 위해 사용하기 위해! [단점] 데이터 추가/삭제의 어려움 미리 최대 길이를 지정해야 하는 점 Q. Why? A. 삭제 시, 뒤에 있던 데이터를 앞당겨야하기 때문이다. [장점] 인덱스를 통해 빠른 접근 가능하다. 첫 데이터의 위치에서 상대적인 위치로 데이터에 접근(인덱스 번호로 접근)한다. # 자료구조_큐(Queue) [큐] 줄을 서는 행위와 유사 FIFO(First-In, First-Out) 또는 LILO(Last-in, Last-Out) 방식. 스택 Q.큐에 값을 넣은 상태에서, 데이터를 꺼내라는 명령을 내리..

    [4949] 균형잡힌 세상 (Python)

    [4949] 균형잡힌 세상 (Python)

    링크 : https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마 www.acmicpc.net 문제 생각 정리 일단 stack으로 하면 된다는 생각까지가 힘들었다.. 만약 stack으로 해줄 수 있다는 걸 알았으면 시간이 더 단축됐을텐데말이다. stack을 이용하면 '(' or '[' 는 그냥 입력하고 ')' or ']'는 각각 '(' or '['가 있는지 확인을 해준 후, 있다면 빼주는 것이다. stack에 들어가는 것은 '('와 '[' 뿐인 것이다. stack이 ..

    [10828] 스택 (Python)

    [10828] 스택 (Python)

    링크 : https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 문제 분류 자료구조 스택 생각 정리 입력을 꽤 많이 받으므로 input()이 아닌 readline()으로 입력을 받아야 겠다. stack(리스트)에 쓸 수 있는 push, pop, top, size, empty 문법을 생각해본다. 큐와는 또 다르므로 주의! push : append() pop : pop() top : [-1] (따로 top()이 아니라 그냥 맨 위의 것을..