본문 바로가기

프로젝트 & TIL/일별 공부 기록 (백엔드 스쿨)

47일차 - 알고리즘(스택과 큐)

https://school.programmers.co.kr/learn/courses/30/lessons/42586

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

스택(Stack)

- 후입선출(LIFO) : 가장 마지막으로 삽입된 요소가 가장 먼저 삭제된다.

- 후입선출은 삽입과 삭제가 한 쪽(top)에서만 일어난다.

- 연산 : push, pop, peek

- 깊이 우선 탐색(DFS), 백트래킹 종류의 코딩 테스트에 효과적이다.

- 재귀 함수 알고리즘 원리와 일맥상통하다.

큐(Queue)

- 선입선출(FIFO) : 가장 먼저 삽입된 요소가 가장 먼저 삭제된다.

- 선입선출은 양방향(front, rear)에서 이뤄진다.

- 연산 : add, poll, peek

- 너비 우선 탐색(BFS)에서 자주 사용한다.

  

큐를 이용한 문제 풀이

https://yurison.tistory.com/252

 

[프로그래머스/자바] 기능개발

import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Queue; class Solution { public int[] solution(int[] progresses, int[] speeds) { Queue queue = new LinkedList(); for(int i=0; i= queue.peek()) { queue.poll(); c

yurison.tistory.com