백준 - 2164 (카드2)
·
알고리즘
import java.util.LinkedList;import java.util.Queue;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); Queue que = new LinkedList(); for (int i = 0; i 1) { que.poll(); int temp = que.poll(); que.offer(temp); } System.out.println(que.poll()); }} [해설]큐를 이용하여 푸는게 좋은 문제로 입력 값..
[Queue] 큐의 .add()와 .offer() && .remove()와 .poll() 의 차이
·
알고리즘
큐의 연산에는 여러 가지가 있는데 알고리즘 문제를 풀 던 중 왜 add 보다 offer를 사람들이 쓰는 것일까 궁금증을 가지게 되었다. 그래서 찾아본 같지만 다른 큐의 연산자들!  [add와 offer]add와 offer는 똑같이 Queue에 요소를 삽입하는 연산이다. 하지만, add 는 크기 제한이 넘은 경우 예외를 발생시키고 예외처리를 하지 않았다면 비정상적으로 프로그램을 종료한다. 반면에 offer는 크기 제한이 넘어도 예외를 발생시키진 않지만 삽입이 되었다는 사실을 사용자가 직접 확인해야 한다. add : 요소를 큐에 추가 하는 메서드. 큐의 용량이 초과되면 예외(IllegalStateException)를 던짐 offer : 요소를 큐에 추가 하는 메서드. 큐의 용량이 초과되면 false를 반환 ..
백준 - 1874 (스택 수열)
·
알고리즘
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.util.Scanner;import java.util.Stack;import java.util.StringTokenizer;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); // 첫 줄에 주어진 N int []su = new int[N]; ..
자료 구조 - 스택과 큐
·
알고리즘
스택과 큐는 배열에서 발전된 형태의 자료구조이다. 스택과 큐의 구조는 비슷하지만 처리 방식이 다르다. [스택]스택은 삽입과 삭제 연산이 후입선출(FILO) 로 이루어지는 자료구조이다. 후입선출은 삽입과 삭제가 한쪽에서만 일어나는 특징이 있다. 깊이 우선 탐색이나 백트레킹 종류의 코딩 테스트에 효과적이고 재귀함수 알고리즘 원리와 일맥상통함.  [스택 용어] 위치 TOP : 삽입과 삭제가 일어나는 위치 (제일 위에 있는 위치)  연산 push : top 위치에 새로운 데이터를 삽입pop  : top 위치에 데이터 삭제 peak :  top 위치의에 있는데이터를 단순 확인하는 연산  [큐] 큐는 삽입과 삭제 연산이 선입선출(FIFO) 로 이루어지는 자료구조이다. 먼저 들어오 데이터가 먼저 나가기 때문에 삽입과..
해니01_15
'알고리즘' 카테고리의 글 목록