Problem Solving/BOJ

    [백준, BOJ 20002] 사과나무 (java)

    https://www.acmicpc.net/problem/20002

    [백준, BOJ 10713] 기차 여행 (java)

    https://www.acmicpc.net/problem/10713 10713번: 기차 여행 JOI나라에는 N개의 도시가 있고, 각 도시에 1,2,...,N까지의 번호를 갖고 있다. 그리고, 철도가 N-1개 있고, 각 철도에 1,2,...N-1의 번호를 갖고 있다. 철도 i (1 ≦ i ≦ N − 1)는 도시 i과 도시 i+1을 양방 www.acmicpc.net 메모리: 55,748 KB , 시간: 548 ms 사용 알고리즘: 누적 합 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] ..

    [백준, BOJ 14621] 나만 안되는 연애 (java)

    https://www.acmicpc.net/problem/14621 14621번: 나만 안되는 연애 입력의 첫째 줄에 학교의 수 N와 학교를 연결하는 도로의 개수 M이 주어진다. (2 ≤ N ≤ 1,000) (1 ≤ M ≤ 10,000) 둘째 줄에 각 학교가 남초 대학교라면 M, 여초 대학교라면 W이 주어진다. 다음 M개의 www.acmicpc.net 메모리: 20,416 KB , 시간: 232 ms 사용 알고리즘: 그래프 이론, 최소 스패닝 트리 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.PriorityQueue; import java.util.StringTokenizer; public class M..

    [백준, BOJ 1300] K번째 수 (java)

    https://www.acmicpc.net/problem/1300 1300번: K번째 수 세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 A[i][j] = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, B[k]를 구해보자. 배열 A와 B www.acmicpc.net 메모리: 14,588 KB , 시간: 180 ms 사용 알고리즘: 이분 탐색, 매개 변수 탐색 import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws Exception{ BufferedRea..

    [백준, BOJ 4933] 뉴턴의 사과 (java)

    https://www.acmicpc.net/problem/4933 4933번: 뉴턴의 사과 각 테스트 케이스에 대해서, 두 트리가 동등하면 true를, 아니면 false를 출력한다. www.acmicpc.net 메모리: 14,284 KB , 시간: 128 ms 사용 알고리즘: 자료 구조, 트리 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class Main { static Map child1; static Map child2; public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedR..

    [백준, BOJ 4803] 트리 (java)

    https://www.acmicpc.net/problem/4803 4803번: 트리 입력으로 주어진 그래프에 트리가 없다면 "No trees."를, 한 개라면 "There is one tree."를, T개(T > 1)라면 "A forest of T trees."를 테스트 케이스 번호와 함께 출력한다. www.acmicpc.net 메모리: 69,404 KB , 시간: 576 ms 사용 알고리즘: 자료 구조, 깊이 우선 탐색, 분리 집합, 그래프 이론, 그래프 탐색, 트리 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.LinkedList; import java..

    [백준, BOJ 17085] 십자가 2개 놓기 (java)

    https://www.acmicpc.net/problem/17085 17085번: 십자가 2개 놓기 첫째 줄에 격자판의 크기 N, M (2 ≤ N, M ≤ 15)이 주어진다. 둘째 줄부터 N개의 줄에 격자판의 상태가 주어진다. 항상 두 개의 십자가를 놓을 수 있는 경우만 입력으로 주어진다. www.acmicpc.net 메모리: 14,712 KB , 시간: 148 ms 사용 알고리즘: 브루트포스 알고리즘, 구현 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int N, M; static char[][] board; public s..

    [백준, BOJ 18808] 스티커 붙이기 (java)

    https://www.acmicpc.net/problem/18808 18808번: 스티커 붙이기 혜윤이는 최근에 다양한 대회를 참여하면서 노트북에 붙일 수 있는 스티커들을 많이 받았다. 스티커는 아래와 같이 사각 모눈종이 위에 인쇄되어 있으며, 스티커의 각 칸은 상하좌우로 모두 연 www.acmicpc.net 메모리: 16,400 KB , 시간: 184 ms 사용 알고리즘: 브루트포스 알고리즘, 구현, 시뮬레이션 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.StringTokenizer; public class Main { static int N, M; s..

    [백준, BOJ 10427] 빚 (java)

    https://www.acmicpc.net/problem/10427 10427번: 빚 각각의 줄에 대해 S(1) + … + S(N) 을 구한다. 중간 과정 및 답은 int 범위를 초과할 수 있으므로, 64bit 정수형(long long: C/C++, long: Java) 를 이용해야 한다. 입출력은 C/C++: printf("%lld\n",answer); Java : System. www.acmicpc.net 메모리: 15,580 KB , 시간: 228 ms 사용 알고리즘: 그리디 알고리즘, 누적 합, 정렬 내 생각 이 문제 설명이 좀... 이해가 잘 안되게 써둔 느낌...! 그래서 위의 설명은 안보고 공식만 봤다. 배열에서 M개를 선택했을 때, 선택한 M개 중 가장 큰 수를 a라고 한다면 a * M -..

    [백준, BOJ 19951] 태상이의 훈련소 생활 (java)

    https://www.acmicpc.net/problem/19951 19951번: 태상이의 훈련소 생활 2020년 5월 14일 논산훈련소에 입대한 태상이는 첫 총기 훈련에서 가스 조절기를 잃어버리는 중대한 실수를 범했다. 그로 인해, 태상이는 조교들에게 눈총을 받게 되었다. 조교들은 태상이에게 연 www.acmicpc.net 메모리: 79,104 KB , 시간: 1,172 ms 사용 알고리즘: 투 포인터 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.StringTokenizer; public class ..