WEB/Algorithm (11) 썸네일형 리스트형 Queue 매번 철자가 헷갈리는 Queue .. 개념 먼저 집어 넣은 데이터가 먼저 나오는 선입선출(First In First Out)구조로 저장하는 방식 데이터가 입력된 시간 순서대로 처리해야 할 필요가 있는 상황에 이용됨 외국에서 사람들이 버스 정류장에 선 줄을 Queue라고 하는데 먼저 선 사람들이 한명씩 버스에 타는 걸 상상하면 스택이랑 헷갈리지 않을 것이다. (스택은 그릇쌓기) Java에서 LinkedList를 이용해 구현 할 수 있다. 큐의 용어 put 큐에 자료를 넣는 것 get 큐에서 자료를 꺼내는 것 front 데이터를 get할 수 있는 위치 rear 데이터를 put할 수 있는 위치 peek front 데이터 반환 poll front 데이터 삭제 및 반환 Overflow 큐가 꽉 차서 자료를 넣을 .. Stack 앞으로의 코딩테스트를 준비하여 유용한 자료구조나 알고리즘을 정리해두기로 했다. 개념 스택은 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 구조 (Last In First Out)으로 되어있다 Java에서 배열, 리스트, Stack 클래스를 이용하여 사용할 수 있다. 한마디로 그릇이 쌓인 모습을 생각하면 된다 주요 연산 top() 스택의 가장 위(최근에 넣은) 데이터 반환 pop() 스택의 가장 위(최근에 넣은) 데이터 삭제 push() 스택의 가장 윗 데이터로 top의 자리 위에 메모리를 생성 is_emtpy() 스택이 비었다면 True 아니라면 False 리스트로 구현한 스택 class Node{ int data; Node next; public Node(int data) { this.data = d.. 백준 17103 https://www.acmicpc.net/problem/17103 17103번: 골드바흐 파티션 첫째 줄에 테스트 케이스의 개수 T (1 ≤ T ≤ 100)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 N은 짝수이고, 2 < N ≤ 1,000,000을 만족한다. www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class P17103 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputS.. 백준 1620 https://www.acmicpc.net/problem/1620 1620번: 나는야 포켓몬 마스터 이다솜 첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면 www.acmicpc.net N과 M 입력 N번의 입력에선 N개의 포켓몬이 입력되고 (입력 순서대로 번호 지정) 그 후 M번의 입력에서는 번호나 포켓몬 이름이 입력되는데 해당되는 번호나 포켓몬 이름을 출력 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.uti.. 백준 15652 https://www.acmicpc.net/problem/15652 15652번: N과 M (4) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 1~N 사이의 수를 M개 고른 수열 같은 수를 여러번 골라도 되지만 순서는 비내림차순이어야한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class P15652 { public static void .. 백준 15651 https://www.acmicpc.net/problem/15651 15651번: N과 M (3) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 주어진 1~N에서 3개로 이뤄진 수열을 출력하는 문제 (단 사전순으로, 같은 숫자 반복 가능) package baekjoon; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.StringReader; import java.nio.Buffer; impor.. 백준 24060 https://www.acmicpc.net/problem/24060 24060번: 알고리즘 수업 - 병합 정렬 1 첫째 줄에 배열 A의 크기 N(5 ≤ N ≤ 500,000), 저장 횟수 K(1 ≤ K ≤ 108)가 주어진다. 다음 줄에 서로 다른 배열 A의 원소 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 109) www.acmicpc.net 병합정렬할 배열이 주어지면 K번째 저장되는 숫자를 출력하는 것! 병합 정렬은 https://www.youtube.com/watch?v=ctkuGoJPmAE&pp=ygUM67OR7ZWp7KCV66Cs 여기서 잘 설명해주신다 .. 대충 8개 배열이 있으면 4 4 2 2 2 2 1 1 1 1 1 1 1 1 이런 식으로 나눠서 위로 올라가며 정렬한다 . 시.. 백준 25501 https://www.acmicpc.net/problem/25501 25501번: 재귀의 귀재 각 테스트케이스마다, isPalindrome 함수의 반환값과 recursion 함수의 호출 횟수를 한 줄에 공백으로 구분하여 출력한다. www.acmicpc.net 팰린드롬 문제 팰린드롬 여부와 재귀 횟수를 출력 package baekjoon; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class P25501 { public static void main(String[] args) throws IOException { BufferedReader br=new BufferedRea.. 백준 27433 https://www.acmicpc.net/problem/27433 27433번: 팩토리얼 2 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net 0~20 사이의 N!을 구하는 문제 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); int n=Integer.p.. 백준 1037 https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net 첫 줄에 N의 약수 개수 다음줄에 N의 약수 A들이 입력(1과 N은 안됨) N을 구하라 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.St.. 이전 1 2 다음