스택
-
[백준] 17608번: 막대기코딩(Coding)/백준 문제풀이 2020. 12. 24. 10:37
막대기 문제 아래 그림처럼 높이만 다르고 (같은 높이의 막대기가 있을 수 있음) 모양이 같은 막대기를 일렬로 세운 후, 왼쪽부터 차례로 번호를 붙인다. 각 막대기의 높이는 그림에서 보인 것처럼 순서대로 6, 9, 7, 6, 4, 6 이다. 일렬로 세워진 막대기를 오른쪽에서 보면 보이는 막대기가 있고 보이지 않는 막대기가 있다. 즉, 지금 보이는 막대기보다 뒤에 있고 높이가 높은 것이 보이게 된다. 예를 들어, 그림과 같은 경우엔 3개(6번, 3번, 2번)의 막대기가 보인다. N개의 막대기에 대한 높이 정보가 주어질 때, 오른쪽에서 보아서 몇 개가 보이는지를 알아내는 프로그램을 작성하려고 한다. 입력 첫 번째 줄에는 막대기의 개수를 나타내는 정수 N (2 ≤ N ≤ 100,000)이 주어지고 이어지는 N줄..
-
[자료구조] Stack과 Queue코딩(Coding)/자료구조 2020. 12. 23. 15:51
Stack과 Queue Stack 스택(Stack)은 기본적인 자료구조로 쌓아올린다는 개념으로 시작하며 접근방법은 언제나 목록의 끝에서만 일어난다. 위 그림처럼 스택은 데이터를 아래서부터 쌓아올리고 데이터들을 다시 불러올때는 가장 최근의 데이터가 호출된다. 이를 선입후출(LIFO - Last in First Out)이라고 한다. 해당 자료구조를 구현하기위해 정의해야할 메소드를 아래에 적어보겠다. push(data): 데이터를 저장할 때, 호출되는 메소드 pop(): 가장 위에있는 데이터를 반환하고 그 값을 삭제하는 메소드 getTop(): 가장 위에있는 데이터를 반환하는 메소드 isEmpty(): stack이 비어있는지를 확인하는 메소드 isFull(): stack이 꽉차있는지를 확인하는 메소드 prin..