그리디
-
[Baekjoon Online Judge] 1715번: 카드 정렬하기문제 풀이/Baekjoon Online Judge 2021. 2. 9. 21:18
1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net 요구사항 - 정렬된 두 묶음의 숫자 카드가 있다고 한다. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. - N개의 숫자 카드 묶음의 각각의 크기가 주어질 때,최소한 몇 번의 비교가 필요한지를 구한다. 입력 - 첫째 줄에 N이 주어진다. (1 ≤ N ≤ 100,000) 이어서 N개의 줄에 걸쳐 숫자 카드 묶음의 각각의 크기가 주어진다. 숫자 카드 묶음의 크기는 1,000보다 작거나..
-
[Baekjoon Online Judge] 1744번: 수 묶기문제 풀이/Baekjoon Online Judge 2021. 1. 2. 14:56
[Baekjoon Online Judge] 1744번: 수 묶기 1744번: 수 묶기 길이가 N인 수열이 주어졌을 때, 그 수열의 합을 구하려고 한다. 하지만, 그냥 그 수열의 합을 모두 더해서 구하는 것이 아니라, 수열의 두 수를 묶으려고 한다. 어떤 수를 묶으려고 할 때, 위치에 www.acmicpc.net 입력 받은 값들을 오름차순으로 정렬하여 가장 높은 수가 나올 수 있도록 수를 배분한다. 1. 0을 포함한 음수 2. 1 3. 1을 제외한 양수 1의 경우에는 곱하는 것 보다 더하는 것이 더 큰 값이 나오기 때문에 따로 더해주었다. 음수 list는 가장 작은 수 부터 탐색하며 짝수 번째에 곱해주고, 만약 size가 홀수로 한 개 남는다면 더해준다. 양수 list는 가장 큰 수 부터 탐색하며 짝수 번..
-
[Baekjoon Online Judge] 1138번: 한 줄로 서기문제 풀이/Baekjoon Online Judge 2021. 1. 2. 13:35
[Baekjoon Online Judge] 1138번: 한 줄로 서기 1138번: 한 줄로 서기 첫째 줄에 사람의 수 N이 주어진다. N은 10보다 작거나 같은 자연수이다. 둘째 줄에는 키가 1인 사람부터 차례대로 자기보다 키가 큰 사람이 왼쪽에 몇 명이 있었는지 주어진다. i번째 수는 0보다 www.acmicpc.net 처음 문제를 읽는데 이해가 잘 되지 않았다. 입력에 키가 1인 사람부터 차례대로 자기보다 키가 큰 사람이 왼쪽에 몇 명이 있었는지 주어진다고 한다. 그 말은 즉 키의 오름차순으로 서있다는 의미로 받아들여지는 것인지 헷갈렸다. 예제를 기준으로 보면 2 1 1 0 순이다. 그렇기 때문에 키가 큰 순서로 섯다고 가정하고 풀이를 진행하였다. 다른 사람의 풀이를 참고하여 총 두 가지 방법으로 풀..
-
[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..