[BACKJOON] 백준 자료구조

HyeonJeong·2023년 2월 20일
0

Baekjoon을 풀어보자

목록 보기
2/5

STACK (스택)

특징

  • LIFO : 후입선출
  • TOP(상단)에서 삽입, 삭제 ↔ 중간에서 불가능

✅ 입력의 역순을 출력하는 경우

  • 이전 페이지로 이동
  • 함수 호출 복귀 주소
  • 괄호 검사

stack 응용

  • 후위표기법 : 자신보다 우선순위가 크거나 같은 연산자는 스택에서 제거하고, 작은 연산자를 만나면 연산자를 스택에 담는다.
  • 깊이 우선 탐색 : 현재 위치를 스택에 담는다. 현재 위치에 지나갔다는 표시 후
    1) 스택이 빈 상태이면 출구는 없다.
    2) 현재 위치가 출구면, 탐색은 끝난다.
    3) 상하좌우 중 갈 수 있는 공간을 모두 스택에 담고, 스택의 top에 있는 공간을 스택에 담는다. -> 반복

PYTHON

stack 관련 함수

🔻 list()의 맨 뒤를 스택의 top이라고 생각하며 이용

  • isEmpty
  • push(e) : e 항목을 맨 위에 추가
  • pop() : 맨 위 항목을 반환
  • size
  • peek : 맨 위 항목 확인 (pop으로 확인 후 다시 push)
  • clear : 스택을 공백 상태로(모두 pop)

JAVA

숫자 자료형

  • 정수 자료형의 데이터 표현 범위 대략
    • byte (1byte) : -128 ~ 127
    • short(2byte) : -32,768 ~ 32,767
    • int (4byte) : 약 2x(1000)^3 x2
    • long (8byte) : 약 9x(1000)^9 x2
  • 실수 자료형의 데이터 표현 범위
    • float (4byte) : 3.4 x 10^(-38) ~ 3.4 x 10^(38)
    • double(8byte) : 1.7 X 10^(-308) ~ 1.7 X 10^(308)

interface

  • Interface : 다른 장치들이 데이터 주고 받을 수 있는 규격

    • 객체 생성 불가 ↔ 레퍼런스 변수 선언 가능
    • 인터페이스끼리 상속이 가능하며, 상속 받은 쪽에서 모든 추상 메소드 구현이 필요
    // 인터페이스 상속
    Interface XXX extends ~Interface, ~Interface {}
    
    // 추상 메소드 구현
    class ~ implements XXX {}

stack 관련 함수

🔻 char [] 의 맨 뒤를 스택의 top이라고 생각하며 이용

  • python과 동일

0개의 댓글