알고리즘(JAVA 사용)/Greedy 8

[알고리즘풀이]백준 2217 : 로프 JAVA

목차 개요 본문 1) 문제 2) 과정 3) 코드 전체 개요 이전에 알고리즘 스터디에서 JAVA를 이용해 백준 2217번 로프를 풀었습니다. 이를 정리해보고자 합니다. 2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하 www.acmicpc.net 본문 1) 문제 2) 과정 그리 오래걸리진 않았던 문제입니다. 30분?에서 1시간 정도 사용했던 것 같아요. 이번엔 2-1) main에 모든 설명을 적어뒀습니다. 이를 참고해주세요! 2-1) main public static void main(String[] args) throws IOEx..

[알고리즘풀이]백준 1946 : 신입 사원 JAVA

목차 개요 본문 1) 문제 2) 과정 3) 코드 전체 개요 이전에 알고리즘 스터디에서 JAVA를 이용해 백준 1946번 신입 사원을 풀었습니다. 이를 정리해보고자 합니다. 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성 www.acmicpc.net 본문 1) 문제 2) 과정 푸는 시간은 2시간 조금 넘게 걸렸던 문제입니다. 이번 문제를 풀며 사용한 아이디어는 다음과 같습니다. 서류와 면접 성적이 모두 떨어진다면 선발되지 않는다의 의미는 둘 중 하나라도 떨어지지 않으면 선발된다. 를 의미합니다. 때문에 아래와 같이 탈..

[알고리즘풀이]백준 1931: 회의실 배정 JAVA

목차 개요 본문 1) 문제 2) 과정 3) 코드 전체 개요 이전에 알고리즘 스터디에서 JAVA를 이용해 백준 1931번 회의실 배정을 풀었습니다. 이를 정리해보고자 합니다. 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 본문 1) 문제 2) 과정 푸는데 꽤 시간이 들었던 문제였습니다. 1시간에서 2시간 정도 시간이 들었던 것 같네요! 이번엔 main에서 input과 func를 불러 실행이 되도록 했는데, 이번엔 Time이라는 클래스를 만들어 한 회의의 시간 타임을 사용할 수 있도록 했습니다. 2-1) main // Attribute private static int n; private static Time[] timeArr..

[알고리즘풀이]백준 1715: 카드 정렬하기 JAVA

목차 개요 본문 1) 문제 2) 과정 3) 코드 전체 개요 이전에 알고리즘 스터디에서 JAVA를 이용해 백준 1715번 카드 정렬하기를 풀었습니다. 이를 정리해보고자 합니다. 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net 본문 1) 문제 2) 과정 이번 문제는 꽤 많이 어려웠습니다. 생각을 코드로 표현하는 과정이 쉽지 않아서 5시간 정도 매달려서 풀어낸 문제입니다. 문제를 푸는 데 사용된 아이디어는 다음과 같습니다. 최소의 비교를 하기 위해서는 최소의 값을 더해나가야함. 10, 30, 50이 ..

[알고리즘풀이]백준 1541: 잃어버린 괄호 JAVA

목차 개요 본문 1) 문제 2) 과정 3) 코드 전체 개요 이전에 알고리즘 스터디에서 JAVA를 이용해 백준 1541번 잃어버린 괄호를 풀었습니다. 이를 정리해보고자 합니다. 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 본문 1) 문제 2) 과정 이 문제는 좀 어려워서 오래 걸렸던 문제입니다...! 특히 split이 되지않아서 어려워했던 문제입니다. (그 해답은 2-3) Logic을 확인해주세요) 2-1) main // Attribute private static int answer; // 정답 pr..

[알고리즘풀이]백준 14916 : 거스름돈 JAVA

목차 개요 본문 1) 문제 2) 과정 3) 코드 전체 개요 이전에 알고리즘 스터디에서 JAVA를 이용해 백준 14916번 거스름돈을 풀었습니다. 이를 정리해보고자 합니다. 14916번: 거스름돈 첫째 줄에 거스름돈 액수 n(1 ≤ n ≤ 100,000)이 주어진다. www.acmicpc.net 본문 1) 문제 14916번: 거스름돈 첫째 줄에 거스름돈 액수 n(1 ≤ n ≤ 100,000)이 주어진다. www.acmicpc.net 2) 과정 ATM을 풀고 풀어서 그런지 조금 더 쉽게 문제를 풀었던 것 같습니다. 이 또한 10분도 채 안되어서 끝냈던 문제입니다. 2-1) main public static void main(String[] args) throws IOException { // Input Sc..

[알고리즘풀이]백준 11399: ATM JAVA

목차 개요 본문 1) 문제 2) 과정 3) 코드 전체 개요 이전에 알고리즘 스터디에서 JAVA를 이용해 백준 11399번 ATM을 풀었습니다. 이를 정리해보고자 합니다. 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 본문 1) 문제 2) 과정 꽤 쉬웠던 문제여서 5분컷으로 끝냈던 문제입니다. 내용도 간단하기 때문에 main에 input, logic, output을 모두 담았습니다. 2-1) main public static void main(String[] args) throws IOException { // Input BufferedRe..

[알고리즘풀이]백준 11047: 동전 0 JAVA

목차 개요 본문 1) 문제 2) 과정 3) 코드 전체 개요 이전에 알고리즘 스터디에서 JAVA를 이용해 백준 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 본문 1) 문제 2) 과정 처음 풀어본 greedy 유형의 문제였습니다. 그래선지 낯설었지만 어렵진 않게 풀었던 것 같습니다. 2-1) main // Attribute private static int n,k; private sta..

728x90