Problem Solving/BOJ
[백준, BOJ 1269] 대칭 차집합 (java)
https://www.acmicpc.net/problem/1269메모리: 83,196 KB , 시간: 724 ms사용 알고리즘: 자료 구조, 해시를 사용한 집합과 맵import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.HashSet;import java.util.Set;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); ..
[백준, BOJ 2161] 카드1 (java)
https://www.acmicpc.net/problem/2161메모리: 14,508 KB , 시간: 108 ms사용 알고리즘: 자료 구조, 구현, 큐import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.ArrayDeque;import java.util.Deque;public class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.read..
[백준, BOJ 1620] 나는야 포켓몬 마스터 이다솜 (java)
https://www.acmicpc.net/problem/1620메모리: 47,448 KB , 시간: 476 ms사용 알고리즘: 자료 구조, 해시를 사용한 집합과 맵import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.HashMap;import java.util.Map;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputS..
[백준, BOJ 1764] 듣보잡 (java)
https://www.acmicpc.net/problem/1764메모리: 26,280 KB , 시간: 256 ms사용 알고리즘: 자료 구조, 해시를 사용한 집합과 맵, 정렬, 문자열import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.*;public class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.rea..
[백준, BOJ 17608] 막대기 (java)
https://www.acmicpc.net/problem/17608메모리: 25,904KB , 시간: 224 ms사용 알고리즘: 자료 구조, 구현, 스택ArrayDeque라는 자료구조를 알게 되어 Stack 대신에 사용해보았다.import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.ArrayDeque;public class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Inte..
[백준, BOJ 2075] N번째 큰 수 (java)
https://www.acmicpc.net/problem/2075메모리: 218,476 KB , 시간: 652 ms사용 알고리즘: 자료 구조, 우선순위 큐, 정렬모든 수는 자신의 한 칸 위에 있는 수보다 크기 때문에한 번에 $N * N$개의 수를 정렬할 필요 없이가장 밑 줄에 있는 수들만 우선순위 큐를 사용해 정렬한 후가장 큰 수를 빼고, 그 수와 같은 행에 있는 바로 위 수를 큐에 넣어준다.import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.PriorityQueue;import java.util.StringTokenizer;public class Main { public static void main(Str..
[백준, BOJ 2805] 나무 자르기 (java)
https://www.acmicpc.net/problem/2805메모리: 119,416 KB , 시간: 492 ms사용 알고리즘: 이분 탐색, 매개 변수 탐색import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; st = new StringToke..
[백준, BOJ 12605] 단어순서 뒤집기 (java)
https://www.acmicpc.net/problem/12605메모리: 14,168KB , 시간: 96 ms사용 알고리즘: 자료 구조, 파싱, 스택, 문자열import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Stack;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; ..
[백준, BOJ 27434] 팩토리얼 3 (java)
https://www.acmicpc.net/problem/27434메모리: 393,188 KB , 시간: 2,960 ms사용 알고리즘: 큰 수 연산, 사칙연산, 수학Java에서는 long 타입으로도 오버 플로우가 발생하기 때문에, 기본 자료형을 사용할 수 없다.때문에 BigInteger라는 것을 사용해야 한다. BigInteger에서 곱셈 연산을 하기 위해서는 BigInteger 객체의 multiply라는 메소드를 사용해야 하고,이 메소드는 파라미터로 곱하고자 하는 수를 나타내는 BigInteger 객체를 받는다. 때문에 $N!$을 계산하기 위해 N번의 BigInteger 객체를 생성하고 곱하는 과정에서 시간초과가 난다.시간초과를 해결하기 위해서는 BigInteger 생성 횟수를 줄여야 하고,분할 정복을..
[백준, BOJ 7795] 먹을 것인가 먹힐 것인가 (java)
https://www.acmicpc.net/problem/7795메모리: 38740 KB , 시간: 384 ms사용 알고리즘: 정렬import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Arrays;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; StringBuil..