java 95

[Java] Garbage Collection(1) - 개요

Garbage Collection이란? Garbage Collection이란 메모리 관리 기법 중의 하나로, 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요 없게 된 영역을 해제하는 것이다. JVM 메모리 구조 GC의 종류를 살펴보기 전에 JVM 메모리 구조를 먼저 알아보자. JVM의 메모리 구조는 크게 Heap / Perm / Thread로 나눌 수 있다. Heap은 다시 Young(New) 영약과 Old 영역으로, Young 영역은 다시 Eden / Survivor1 / Survivor2로 나눌 수 있다. Young 영역은 객체가 처음 생성 시 저장되는 영역을 나타낸다. 정확히는 new 연산자를 통해 생성되는 객체들은 Eden 영역에 저장된다. Old 영역은 Young 영역에 존재하던 객체들이 ..

Java 2022.04.11

[BOJ] 1051. 숫자 정사각형

문제 원본 : https://www.acmicpc.net/problem/1051 1051번: 숫자 정사각형 N×M크기의 직사각형이 있다. 각 칸에는 한 자리 숫자가 적혀 있다. 이 직사각형에서 꼭짓점에 쓰여 있는 수가 모두 같은 가장 큰 정사각형을 찾는 프로그램을 작성하시오. 이때, 정사각형은 행 www.acmicpc.net import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.StringTokenizer; public class Main { public static void main(String..

알고리즘/BOJ 2022.04.10

[BOJ] 3273. 두 수의 합

문제 원본 : https://www.acmicpc.net/problem/3273 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.StringTokenizer; public class Main {..

알고리즘/BOJ 2022.04.09

[BOJ] 4781. 사탕 가게

문제 원본 : https://www.acmicpc.net/problem/4781 4781번: 사탕 가게 각 테스트 케이스의 첫째 줄에는 가게에 있는 사탕 종류의 수 n과 상근이가 가지고 있는 돈의 양 m이 주어진다. (1 ≤ n ≤ 5,000, 0.01 ≤ m ≤ 100.00) m은 항상 소수점 둘째자리까지 주어진다. 다음 n개 www.acmicpc.net import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.StringTokenizer; public class Main { public stati..

알고리즘/BOJ 2022.04.08

[BOJ] 5721. 사탕 줍기 대회

문제 원본 : https://www.acmicpc.net/problem/5721 5721번: 사탕 줍기 대회 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 M과 N이 주어졌다. (1 ≤ M × N ≤ 105) 다음 M개 줄에는 박스에 들어있는 사탕의 개수 N개가 주어진다. 박스에 들 www.acmicpc.net import java.io.*; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)..

알고리즘/BOJ 2022.04.07

[BOJ] 1976. 여행 가자

문제 원본 : https://www.acmicpc.net/problem/1976 1976번: 여행 가자 동혁이는 친구들과 함께 여행을 가려고 한다. 한국에는 도시가 N개 있고 임의의 두 도시 사이에 길이 있을 수도, 없을 수도 있다. 동혁이의 여행 일정이 주어졌을 때, 이 여행 경로가 가능한 것인 www.acmicpc.net import java.io.*; import java.util.StringTokenizer; public class Main { static int[] parent; static int[] depth; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new..

알고리즘/BOJ 2022.04.06

[BOJ] 2470. 두 용액

문제 원본 : https://www.acmicpc.net/problem/2470 2470번: 두 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,00 www.acmicpc.net import java.io.*; import java.util.Arrays; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(..

알고리즘/BOJ 2022.04.05

[BOJ] 1715. 카드 정렬하기

문제 원본 : https://www.acmicpc.net/problem/1715 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net import java.io.*; import java.util.PriorityQueue; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Buffe..

알고리즘/BOJ 2022.04.04

[BOJ] 1057. 토너먼트

문제 원본 : https://www.acmicpc.net/problem/1057 1057번: 토너먼트 김지민은 N명이 참가하는 스타 토너먼트에 진출했다. 토너먼트는 다음과 같이 진행된다. 일단 N명의 참가자는 번호가 1번부터 N번까지 배정받는다. 그러고 난 후에 서로 인접한 번호끼리 스타를 www.acmicpc.net import java.io.*; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter ..

알고리즘/BOJ 2022.04.03

[BOJ] 9375. 패션왕 신해빈

문제 원본 : https://www.acmicpc.net/problem/9375 9375번: 패션왕 신해빈 첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로 (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다. www.acmicpc.net import java.io.*; import java.util.Hashtable; import java.util.Map; public class Main { public static void main(String[] args) throws IOException { BufferedReader ..

알고리즘/BOJ 2022.04.02