문제설명입력 & 출력나의 풀이문제 접근 방법"백준 - 회의실 배정"문제는 회의 시작 시간과 종료 시간이 공백을 기준으로 입력이 되고, 겹치지 않는 최대 회의의 수를 구하는 문제입니다.public class BOJ1931 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); boolean[] timeline = new boolean[100001]; // 시간 범위를 추적하기 위한 배열 int ..
greedy
문제설명입력 & 출력나의 풀이 이번 문제는 여자 N명, 남자 M명, 그리고 인턴쉽을 위한 인원 K명이 주어지고, 가능한 그 조건을 만족하는 팀을 많이 만드는 문제입니다. 저는 반복문을 이용한 그리디 알고리즘을 사용했습니다. 그리디 알고리즘의 설명은 아래의 포스팅에서 확인가능합니다. [Algorithm] 그리디 알고리즘(탐욕법, greedy, Java) 알아보기그리디 알고리즘이란❓ 그리디 알고리즘이란 greedy라는 이름의 뜻에서 알 수 있듯이 탐욕스러운, 욕심스러운 알고리즘입니다. 탐욕이라는 뜻처럼 그리디 알고리즘(탐욕 알고리즘)은 각 단계에pixx.tistory.com 그리디 알고리즘은 전체적인 최적화를 목표로 하지만, 각 단계에서 지역적인 최적화(현재 상태에서 가능한 최선의 선택 == Greedy)..
문제설명입력 & 출력 나의 풀이 이번 문제는 각 로프들에 대한 정보가 주어졌을 때, 이 로프들을 이용하여 들어 올릴 수 있는 물체의 최대 중량을 구하는 문제입니다. 이 문제에서 중요한 것은 각 로프가 들 수 있는 중량을 기준으로, 여러 로프를 함께 사용하여 최대로 들 수 있는 중량을 계산하는 것입니다. 먼저 빠른 입력을 위해서 BufferedReader 클래스를 사용하여 입력을 받아주고, 각 로프를 rope배열에 넣어줍니다. 이 때 각 로프에 대해 해당 로프를 포함하여 그보다 강한 모든 로프들이 버틸 수 있는 최대 중량을 계산하는 것이 효과적입니다.로프를 중량이 높은 순서대로 정렬하면, 각 로프를 포함하여 그보다 강한 로프들이 함께 버틸 수 있는 최대 중량을 쉽게 계산할 수 있다는 점입니다. 따라서 먼저..
문제설명입력 & 출력 나의 풀이 이번 문제는 길이가 N인 두 배열을 계산하는 점화식 A [N-1] × B [N-1]이 최솟값을 가지게 만드는 문제입니다. 위 점화식 그대로 사용하게 된다면 1*2 + 1*7 + 1*8 + 6*3 + 0*1 ➡️ 35가 나오게 됩니다. 이때 배열의 정렬을 하고 작은 값과 큰값을 서로 곱해주면 최솟값이 나옵니다. 먼저 빠른 입력을 위해 BufferedReader 클래스를 사용하여 입력을 받아주고 StringTokenizer 클래스를 사용하여 공백을 기준으로 분리를 해서 배열에 저장을 합니다. 그리고 Arrays.sort() 메서드를 사용하여 A를 오름차순으로 정렬해 주고, B배열을 내림차순으로 정렬합니다. (A와 B의 정렬이 바뀌어도 상관없습니다.) 이 때 오름차순은 상관없지..