조합 3

[JAVA] 백준 스타트와 링크

www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 4명 기준일때, 1. Combination으로 4명중 2명을 뽑는다. 2. 뽑은 2명에 대하여 Sij + Sji 를 실행한다. (안뽑은 2명에 대하여 Sij + Sji를 실행한다.) 3. 두 각각의 더한값의 차(절대값)를 구한다. 4. 그 중에서 차가 가장 작은 최소값을 출력한다. 위의 예시를 일반화하면 1. Combination으로 n명중 n/2명을 뽑는다. 2. 뽑은 n/2명에 대하여 Sij + Sji를 이중for문으로 더한다...

카테고리 없음 2021.04.20

[JAVA] 백준 N과 M(2), DFS 중복X

N과M(1)은 중복 O N과M(2)는 중복 X 둘다 DFS를 활용한 코드이다. 오히려 중복없이 출력하는 코드인 (2)가 더 짧다. 단, 매개변수를 하나 더 필요로한다. 이 값(at)은 현재 index값보다 더 큰 index에 대하여 for문을 돌리기위해 사용한다. import java.util.Scanner; class Main { public static int[] arr; public static int N, M; public static void main(String[] args) { Scanner in = new Scanner(System.in); N = in.nextInt(); M = in.nextInt(); arr = new int[M]; dfs(1, 0); } public static voi..

(2021카카오) 메뉴 리뉴얼 Java

이 문제의 가장 큰 포인트는 조합이다. 1. 조합 각 문자열에 대하여 나올수 있는 조합을 구하는데, 그 조합을 nCr이라고 할때, r값은 course[i]로 주어진 것이고, n값은 각 코스요리의 길이 이므로 orders[i].length로 주어진다. 2. 알파벳순 정렬 고려하는 새로운 코스요리 세트에 대하여, AB와 BA는 같은 것이므로 오름차순 정렬을 시행한다. 이는 map에 집어넣을때부터 비교연산을 하는 모든 경우에서 필요하므로 미리 정렬 시켜야한다. 실패코드 더보기 테스트케이스 3만 성공한다. import java.util.*; class Solution { private static Map map = new HashMap(); static void print(String arr, boolean[]..