목록조합 (7)
개발 무지렁이

치킨배달 / 조합 🛒 🎠. 'itertools 모듈'을 이용해 'combinations()'를 사용하여 조합을 구할 줄 알아야 한다. 🎠. 조합을 구해 '각 경우를 돌 때', 이 for in문은 '가장 바깥에' 위치해야 한다. => '경우에 따른 결과'를 구해야 함으로 🎠. 이전 값과 비교할 때, '이전값을 할당하는 변수'는 'for in문 바깥'에 위치해야 한다. => '(현재값과 이전값에 대한)'비교는 for in문 안에서 import itertools import sys N, M = map(int, input().split()) arr2d = [] for _ in range(N): ar..

암호만들기 🪅 오름차순을 보고, 배열을 정렬한 다음, 조합을 이용할 생각을 할 줄 아느냐 => 이전 고른 인덱스보다 큰 인덱스를 고르는 '조합' 🪅 조합을 구현할 줄 아는가 => '백트래킹'을 할 줄 아는가 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Main { static char[] arr; static int L; static int C; static int[] selection; static boolean[] isSele..

N과M (2) 🪅 순열과 조합의 차이를 알고있느냐 🪅 조합(Combination)을 구현할 줄 아느냐 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; /** * 백준 15650번 N과M(2) * 입력: * 첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) * * 출력: * 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, * 각 수열은 공백으로 구분해서 출력해야 한다. * 수열은 사전 순으로 증가하는 순서로 출력해야 한다. * */ public class Mai..

나머지합 🪅 입력범위를 보고서 결과값이 int 범위(2147483647)를 넘어서는지를 예측할 수 있는가 🪅 구간합을 구할 때 누적합을 구할 수 있는가 🪅 누적합을 구할 때 패딩을 넣어줄 수 있는가 🪅 (S[i] - S[j]) % M == 0, 분배법칙을 이용해 문제를 해결할 수 있는가 => S[i] % M == S[j] % M 🪅 쌍을 구할 때 Combination을 이용할 수 있는가 => nC2 = n(n-1)/2 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public cla..

위장 🪅 부류별 가짓수를 구할때, 부류를 key로 가짓수를 value로 생각할 수 있느냐 => HashMap 🪅 경우의 수(조합)를 구할 수 있느냐 💡 문제 접근 과정 중요한 것은 부류별 '의상의 가짓수'이지 의상의 이름이 아니다 따라서 부류를 key로 두고 해당 부류의 가짓수를 value로 두는 HashMap을 생성 모든 부류마다 +1을 해주는 이유는 안입는 경우의 수를 포함하기 위해서이다. 마지막에 -1을 해주는 이유는 모두 안입는 경우의 수 제거를 위해서이다. import java.util.*; class Solution { public int solution(String[][] clothes) { int answer = 1; // key: 부류, value: 가짓수 Map map =..

완전탐색(Brute Force) 모든 경우의 수를 시도해보는 방법 📌 Brute-Force: 무식하게 힘(컴퓨터의 연산능력)으로 찍어누르는 방법 ⭐. 경우의 수 - 순열: 순서가 결과에 영향을 미치는 경우 - 조합: 순서가 결과에 영향을 미치지 않는 경우 - 부분집합: 각 요소가 포함한다 or 포함하지 않는다 [Permutation.java] public class Permutation { static char[] arr; static int R; static int[] selection; static boolean[] isSelected; public static void permutation(int r) { // 종료조건 if(r == R) { for(int i = 0; i < R; i++) { Sy..