순위가 상관있는 알고리즘 = nP4
순위가 상관없는 무작위 알고리즘 = nC4 ex) n명 중에 각 다른 4명을 뽑는 경우는?
1.nC4 알고리즘
n*(n-1)*(n-2)*(n-3) / (1*2*3*4) == n*(n-1)*(n-2)*(n-3) / 4!
public int solution(String[] names){
Set<String> set = new HashSet<String>(Arrays.asList(names));
int n = set.size();
int m = 4;
long numerator = 1;
long denominator = 1;
for(int i =0; i < m; i++){
numerator *= (n-i);
denominator *= (i+1);
}
return (int) (numerator/denominator);
}
'알고리즘' 카테고리의 다른 글
| [알고리즘] 자연수 뒤집어 배열로 만들기(프로그래머스 문제) (0) | 2024.01.24 |
|---|---|
| [알고리즘]피보나치 수열과 재귀함수를 이용한 알고리즘_java (0) | 2023.06.19 |
| [알고리즘]인수로 들어온 정수의 약수 구하기_java (0) | 2023.06.15 |
| [알고리즘]HashSet을 이용한 집합연산(합집합,교집합,차집합) + 프로그래밍적 집합연산 (0) | 2023.06.14 |
| [알고리즘]청소로봇 작동하기(feat.n*n이차원 배열)_java (0) | 2023.05.30 |