목록전체 글 (601)
sm 기술 블로그
import java.util.*; import java.io.*; class Main { public static void main(String args[]) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); int T = Integer.parseInt(br.readLine()); while (T != 0) { HashMap clothesType = new HashMap(); int n = Integer.parseInt(br.readLine()); while (n != 0) { String[] sBits = br...
import sys input = sys.stdin.readline T = int(input()) result = "" for _ in range(T): n = int(input()) clothes = [input().split()[1] for _ in range(n)] clothesType = {} for val in clothes: if val in clothesType: clothesType[val] += 1 else: clothesType[val] = 1 tmp = 1 for val in clothesType: tmp *= (clothesType[val]+1) result += str(tmp-1) + "\n" print(result) 문제요약 옷을 입는 경우의 수를 구하라. 설명 만약 6개의 옷이..
import java.util.*; import java.io.*; import java.math.BigInteger; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); int T = Integer.parseInt(br.readLine()); while(T!=0) { String[] sBits = br.readLine().split(" "); BigInteger N = BigInteger.valueOf(Integer.pars..
import sys input = sys.stdin.readline result = "" for _ in range(int(input())): N, M = map(int, input().split()) A, B = N, M for i in range(1, A): N *= (A-i) M *= (B-i) if(N == 0): N = M result += str(M//N) + "\n" print(result) 문제요약 이항계수를 구하라. (조합) 설명 이항계수를 푸는방법은 위와같이 반복문이 아닌 재귀함수를 사용해서도 풀 수 있다. 일단 위 방법은 예를들어 10 과 5가 들어왔다고 해보자. n은 N으로, r은 K로 생각하면 된다. 다음과 같이 값이 들어올 것이다. 이를 정리하면, 다음과 같이 나올 것이다. 즉,..