BaekJoonOnlineJudge
[백준, BOJ 21610] 마법사 상어와 비바라기 (java)
https://www.acmicpc.net/problem/21610 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net 메모리: 23,580 KB , 시간: 264 ms 사용 알고리즘: 구현, 시뮬레이션 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class Main { ..
[백준, BOJ 20210] 파일 탐색기 (java)
https://www.acmicpc.net/problem/20210 20210번: 파일 탐색기 첫 줄에 문자열의 개수 N(2 ≤ N ≤ 10,000)이 주어진다. 그 다음 N줄에 정렬할 문자열이 한 줄에 하나씩 주어진다. 모든 문자열의 길이는 100 이하이며, 알파벳 대소문자와 숫자로만 이루어져 있다. www.acmicpc.net 메모리: 309,456 KB , 시간: 1,188 ms 사용 알고리즘: 구현, 정렬, 문자열 문제 해결할 때 신경 써줘야 하는 것들 문자열 정렬을 위해서는 정렬 알고리즘을 사용해주어야 한다. -> quick sort 구현하여 사용. 정렬을 위해서는 두 문자열을 비교하여 어느 문자가 앞에 와야 할지 결정해야 한다. -> compare 메서드에 이를 구현함. 문자열을 비교할 때, ..
[백준, BOJ 1477] 휴게소 세우기 (java)
https://www.acmicpc.net/problem/1477 1477번: 휴게소 세우기 첫째 줄에 현재 휴게소의 개수 N, 더 지으려고 하는 휴게소의 개수 M, 고속도로의 길이 L이 주어진다. 둘째 줄에 현재 휴게소의 위치가 공백을 사이에 두고 주어진다. N = 0인 경우 둘째 줄은 빈 줄 www.acmicpc.net 메모리: 14,372 KB , 시간: 124 ms 사용 알고리즘: 이분 탐색, 매개 변수 탐색 이분 탐색이라는 것을 알아도 어떤 값으로 이분 탐색해야할 지 찾는 것이 어렵다.. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringToke..
[백준, BOJ 1548] 부분 삼각 수열 (java)
https://www.acmicpc.net/problem/1548 1548번: 부분 삼각 수열 세 수 x, y, z가 x+y>z, x+z>y, y+z>x의 관계를 만족하면, 세 수는 삼각관계에 있다고 한다. 마찬가지로 길이가 N인 수열 B(b[0], b[1], ..., b[n-1])의 모든 b[i], b[j], b[k]가 삼각관계에 있으면 이 수열은 삼각 www.acmicpc.net 메모리: 14,324 KB , 시간: 124 ms 사용 알고리즘: 정렬, 부르트포스 알고리즘, 그리디 알고리즘 참고 https://kau-algorithm.tistory.com/970 [백준/Python] 1548번 부분 삼각 수열 문제링크 https://www.acmicpc.net/problem/1548 1548번: 부분 ..
[백준, BOJ 2281] 데스노트 (java)
https://www.acmicpc.net/problem/2281 2281번: 데스노트 첫째 줄에 n(1 ≤ n ≤ 1,000), m(1 ≤ m ≤ 1,000)이 주어진다. m은 노트의 가로 칸의 개수(폭, 너비)이다. 다음 n개의 줄에는 각 사람의 이름의 길이가 노트에 적어야 할 순서대로 주어진다. 각 길이는 m www.acmicpc.net 메모리: 19,096 KB , 시간: 188 ms 사용 알고리즘: 다이나믹 프로그래밍 참고 https://velog.io/@bokiri409/BOJ-%EB%8D%B0%EC%8A%A4%EB%85%B8%ED%8A%B8-2281%EB%B2%88 [BOJ] 데스노트 - 2281번 🎃문제설명🧛사악한 라이토는 기발한 방법을 이용하여 L(애칭 섊)을 살해한 뒤 데스노트를 다시 ..
[백준, BOJ 19942] 다이어트 (java)
https://www.acmicpc.net/problem/19942 19942번: 다이어트 식재료 N개 중에서 몇 개를 선택해서 이들의 영양분(단백질, 탄수화물, 지방, 비타민)이 일정 이상이 되어야 한다. 아래 표에 제시된 6가지의 식재료 중에서 몇 개를 선택해서 이들의 영양분의 각 www.acmicpc.net 메모리: 37,444 KB , 시간: 368 ms 사용 알고리즘: 백트래킹, 브루트포스 알고리즘 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.StringTokenizer; public class Main { static int N; // N :=..
[백준, BOJ 1720] 타일 코드 (java)
https://www.acmicpc.net/problem/1720 1720번: 타일 코드 2×N 크기의 넓은 판을 1×2 (또는 2×1) 크기와 2×2 크기의 타일로 채우려고 한다. 여러 가지 경우가 있을 수 있으므로, 각각을 하나의 코드로 대응시켜서 암호화에 이용하려고 한다. 그런데 문제가 www.acmicpc.net 메모리: 14,200 KB , 시간: 128 ms 사용 알고리즘: 다이나믹 프로그래밍 참고 https://lotuslee.tistory.com/129 [백준 1720번] 타일 코드 (java) 1720번: 타일 코드 2×N 크기의 넓은 판을 1×2 (또는 2×1) 크기와 2×2 크기의 타일로 채우려고 한다. 여러 가지 경우가 있을 수 있으므로, 각각을 하나의 코드로 대응시켜서 암호화에 이..
[백준, BOJ 27653] 최소 트리 분할 (java)
https://www.acmicpc.net/problem/27653 27653번: 최소 트리 분할 정점이 $N$개인 트리가 주어진다. 정점에는 $1$부터 $N$까지 번호가 붙어있다. 각 정점에는 가중치가 존재하는데, 초기에 모든 가중치는 $0$이다. 당신은 다음 연산을 트리에 반복하여 $1$ 이상 $N$ www.acmicpc.net 메모리: 69,668 KB , 시간: 732 ms 사용 알고리즘: 넓이 우선 탐색, 그래프 이론, 그래프 탐색 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; imp..
[백준, BOJ 2487] 섞기 수열 (java)
https://www.acmicpc.net/problem/2487 2487번: 섞기 수열 A1, A2, …, AN으로 표시된 N 개의 카드를 정해진 방법으로 섞고자 한다. 그 섞는 방법은 1에서 N까지의 숫자로 이루어진 수열로 표시된다. 이 수열을 섞기 수열이라 하자. 섞기는 현재 가지고 있는 www.acmicpc.net 메모리: 16,688 KB , 시간: 184 ms 사용 알고리즘: 순열 사이클 분할, 유클리드 호제법 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.HashSet; import java.util.Iterator; import java.util.StringTokenizer; public c..
[백준, BOJ 14499] 주사위 굴리기 (java)
https://www.acmicpc.net/problem/14499 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x, y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지 www.acmicpc.net 메모리: 16,308 KB , 시간: 172 ms 사용 알고리즘: 구현, 시뮬레이션 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void m..