BaekJoonOnlineJudge

    [백준, BOJ 20444] 색종이와 가위 (java)

    https://www.acmicpc.net/problem/20444 20444번: 색종이와 가위 첫 줄에 정수 n, k가 주어진다. (1 ≤ n ≤ 231-1, 1 ≤ k ≤ 263-1) www.acmicpc.net 메모리: 14,188 KB , 시간: 124 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 InputStream..

    [백준, BOJ 15681] 트리와 쿼리 (java)

    https://www.acmicpc.net/problem/15681 15681번: 트리와 쿼리 트리의 정점의 수 N과 루트의 번호 R, 쿼리의 수 Q가 주어진다. (2 ≤ N ≤ 105, 1 ≤ R ≤ N, 1 ≤ Q ≤ 105) 이어 N-1줄에 걸쳐, U V의 형태로 트리에 속한 간선의 정보가 주어진다. (1 ≤ U, V ≤ N, U ≠ V) www.acmicpc.net 메모리: 88,036 KB , 시간: 744 ms 사용 알고리즘: 깊이 우선 탐색, 다이나믹 프로그래밍, 트리에서의 다이나믹 프로그래밍, 그래프 이론, 그래프 탐색, 트리 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList;..

    [백준, BOJ 2250] 트리의 높이와 너비 (java)

    https://www.acmicpc.net/problem/2250 2250번: 트리의 높이와 너비 첫째 줄에 노드의 개수를 나타내는 정수 N(1 ≤ N ≤ 10,000)이 주어진다. 다음 N개의 줄에는 각 줄마다 노드 번호와 해당 노드의 왼쪽 자식 노드와 오른쪽 자식 노드의 번호가 순서대로 주어진다. www.acmicpc.net 메모리: 21,376 KB , 시간: 284 ms 사용 알고리즘: 깊이 우선 탐색, 그래프 이론, 그래프 탐색, 트리 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.StringTokenizer; public class Main { ..

    [백준, BOJ 21278] 호석이 두 마리 치킨 (java)

    https://www.acmicpc.net/problem/21278 21278번: 호석이 두 마리 치킨 위의 그림과 같이 1번과 2번 건물에 치킨집을 짓게 되면 1번부터 5번 건물에 대해 치킨집까지의 왕복 시간이 0, 0, 2, 2, 2 로 최소가 된다. 2번과 3번 건물에 지어도 동일한 왕복 시간이 나오지만 더 www.acmicpc.net 메모리: 17,748 KB , 시간: 252 ms 사용 알고리즘: 브루트포스 알고리즘, 플로이드-워셜, 최단 경로 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Main ..

    [백준, BOJ 1025] 제곱수 찾기 (java)

    https://www.acmicpc.net/problem/1025 1025번: 제곱수 찾기 첫째 줄에 N, M이 주어진다. 둘째 줄부터 N개의 줄에는 표에 적힌 숫자가 1번 행부터 N번 행까지 순서대로 한 줄에 한 행씩 주어진다. 한 행에 적힌 숫자는 1번 열부터 M번 열까지 순서대로 주어지 www.acmicpc.net 메모리: 97,180 KB , 시간: 468 ms 사용 알고리즘:부르트포스 알고리즘 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.StringTokenizer; public class Main { static int n; static int..

    [백준, BOJ 1719] 택배 (java)

    https://www.acmicpc.net/problem/1719 1719번: 택배 명우기업은 2008년부터 택배 사업을 새로이 시작하기로 하였다. 우선 택배 화물을 모아서 처리하는 집하장을 몇 개 마련했지만, 택배 화물이 각 집하장들 사이를 오갈 때 어떤 경로를 거쳐야 하 www.acmicpc.net 메모리: 23,540 KB , 시간: 420 ms 사용 알고리즘: 플로이드-워셜, 그래프 이론, 최단 경로 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Main { public static void main(..

    [백준, BOJ 20440] 🎵니가 싫어 싫어 너무 싫어 싫어 오지 마 내게 찝쩍대지마🎵 - 1 (java)

    https://www.acmicpc.net/problem/20440 20440번: 🎵니가 싫어 싫어 너무 싫어 싫어 오지 마 내게 찝쩍대지마🎵 - 1 첫째 줄에 지동이의 방에 출입한 모기의 마릿수 N(1 ≤ N ≤ 1,000,000)가 주어진다. 다음 N개의 줄에 모기의 입장 시각 TE과 퇴장 시각 TX이 주어진다. (0 ≤ TE output[out]) { // 기존 모기 퇴장 if(result < count) { result = count; resultS = s; resultE = output[out]; } count--; out++; } else if (input[in] == output[out]) { // 기존 모기 퇴장과 동시에 새로운 모기 입장 in++; out++; } } System.out...

    [백준, BOJ 1749] 점수따먹기 (java)

    https://www.acmicpc.net/problem/1749 1749번: 점수따먹기 동주는 항상 혼자 노느라 심심하다. 하지만 혼자 놀기의 고수가 된 동주는 매일매일 게임을 개발하여 혼자놀기의 진수를 우리에게 보여준다. 어느 날 동주는 새로운 게임을 개발하였다. 바로 점 www.acmicpc.net 메모리: 20,324 KB , 시간: 328 ms 사용 알고리즘: 누적 합, 부르트포스 알고리즘, 다이나믹 프로그래밍 내생각 완탐을 돌리면 시간 복잡도가 $O(N^4)$로 16억이 넘어가서 시간초과일 거라고 생각했다. (다른 답들을 보니까 완탐 돌려도 되긴 하나보다..) 근데 아무리 생각해도 16억이 넘어가는 범위인데 정답만 받으면 의미가 없을 거라고 생각해서 머리 쥐어짜다가 결국 해결법을 찾지 못해서 ..

    [백준, BOJ 15927] 회문은 회문아니야!! (java)

    https://www.acmicpc.net/problem/15927 15927번: 회문은 회문아니야!! 팰린드롬이란 앞으로 읽으나 뒤로 읽으나 같은 문자열을 말한다. 팰린드롬의 예시로 POP, ABBA 등이 있고, 팰린드롬이 아닌 것의 예시로 ABCA, PALINDROME 등이 있다. 같은 의미를 가지는 여러 단어들을 www.acmicpc.net 메모리: 19,460 KB , 시간: 216 ms 사용 알고리즘: 애드 혹, 문자열 내 생각 팬린드롬은 모든 문자열이 같지 않은 이상 문자 하나만 빠져도 팰린드롬이 아니라는 것만 알고 있으면 쉽게 풀 수 있는 문제였다... 이 생각을 못해서 뻘 짓 엄청 함. import java.io.BufferedReader; import java.io.InputStreamR..

    [백준, BOJ 2110] 공유기 설치 (java)

    https://www.acmicpc.net/problem/2110 2110번: 공유기 설치 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (0 ≤ xi ≤ 1,000,000,000)가 www.acmicpc.net 메모리: 28,800 KB , 시간: 336 ms 사용 알고리즘: 이분 탐색, 매개 변수 탐색 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Main..