문제 풀이/Baekjoon Online Judge
-
[Baekjoon Online Judge] 1080번: 행렬문제 풀이/Baekjoon Online Judge 2021. 1. 1. 18:09
[Baekjoon Online Judge] 1080번: 행렬 1080번: 행렬 첫째 줄에 행렬의 크기 N M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 행렬 A가 주어지고, 그 다음줄부터 N개의 줄에는 행렬 B가 주어진다. www.acmicpc.net 행렬B를 탐색하면서 행렬A와 비교한 값이 다를 때 행렬A를 변환하는 연산(어떤 3 x 3 크기의 부분 행렬에 있는 모든 원소를 뒤집는 것)의 최솟값을 구하는 문제이다. import java.io.*; public class Baekjoon1080 { public static BufferedReader bufferedReader; public static BufferedWriter bufferedWriter; publ..
-
[Baekjoon Online Judge] 1339번: 단어 수학 - 풀이 추가 예정문제 풀이/Baekjoon Online Judge 2020. 12. 27. 20:30
1339번: 단어 수학 1339번: 단어 수학 첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어진다. 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 대문자로만 이루어져있다. 모든 단어에 포함되어 있는 알파벳은 최대 www.acmicpc.net HashMap을 활용하여 풀이하였다. map의 key 값으로 알파벳을 넣었고, value는 해당 key 값의 자릿수 가중치이다. 예를 들면, 입력이 2 GCF ACDEB 라고 가정하자. 그렇게 되면 GCF, ACDEB는 각각 key 값으로 들어가게되고, GCF에서 G는 100의 자리 이기 때문에 value로 100이란 값을 가지게 된다. C는 10, F는 1이된다. ACDEB를 보면 A는 10000, C는 1000, D는 100, E..
-
[Baekjoon Online Judge] 1946번: 신입 사원문제 풀이/Baekjoon Online Judge 2020. 12. 27. 20:18
1946번: 신입 사원 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성 www.acmicpc.net 처음 이 문제를 접했을 때 이해하는데 조금 시간이 걸렸다. 적어도 하나가 다른 지원자보다 떨어지지 않는 자만 선별한다는 원칙이 잘 이해가 되지 않았다. 예시를 들어보면, 서류심사 순위 면접시험 순위 3 2 1 4 4 1 2 3 5 5 각각의 지원자의 서류심사 성적 순위와 면접시험 성적 순위가 위 표와 같은 경우, 서류심사를 기준으로 우선 정렬하였다. 서류심사 순위 면접시험 순위 1 4 2 3 3 2 4 1 5 5 정렬..
-
[Baekjoon Online Judge] 2217번: 로프문제 풀이/Baekjoon Online Judge 2020. 12. 26. 14:04
2217번: 로프 2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하 www.acmicpc.net n개의 로프를 활용해서 가장 무거운 중량을 구하는 문제이다. 여기서 고려해야 하는 요구사항은 k개의 로프를 사용하여 중량 w인 물체를 들어올리면, 각각의 로프는 모두 고르게 w/k 만큼 중량이 걸리게 된다. 각각의 로프는 자신이 버틸 수 있는 중량 이상을 버틸 수 없다. 마지막으로 로프는 전부 사용하지 않아도 된다. 로프를 전부 사용하지 않아도 되기 때문에 로프를 중량 내림차순으로 정렬시킨다. 버틸 수 있는 무게가 큰 순서부터 로프를 ..
-
[Baekjoon Online Judge] 5585번: 거스름돈문제 풀이/Baekjoon Online Judge 2020. 12. 26. 13:52
5585번: 거스름돈 5585번: 거스름돈 타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사 www.acmicpc.net 물건 금액을 입력 받아 거스름돈의 동전 개수를 반환해주는 간단한 문제였다. 소비자가 내는 지폐를 1000으로 한정하였기 때문에 1000 - money로 간단하게 거스름 돈을 계산하고, 가장 큰 동전 값 부터 나누어 동전의 개수를 계산하였다. import java.io.*; public class Baekjoon5585 { public static void main(String[] args) throws IOExcepti..
-
[Baekjoon Online Judge] 1931번: 회의실배정문제 풀이/Baekjoon Online Judge 2020. 12. 25. 17:45
1931번: 회의실배정 1931번: 회의실배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net public class Baekjoon1931 { public static void main(String[] args) throws IOException { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(System.out)); int n = Integer.parseInt(bufferedReader.readLine());..
-
[Baekjoon Online Judge] 11047번: 동전 0문제 풀이/Baekjoon Online Judge 2020. 12. 25. 17:43
11047번: 동전 0 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net import java.io.*; public class Baekjoon11047 { public static void main(String[] args) throws IOException { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter buff..
-
[Baekjoon Online Judge] 11399번: ATM문제 풀이/Baekjoon Online Judge 2020. 12. 23. 19:44
11399번: ATM 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net import java.io.*; import java.util.Arrays; public class Baekjoon11399 { public static void main(String[] args) throws IOException { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bufferedWriter = new BufferedWrit..