자료구조와 알고리즘

[알고리즘] 백준 - 2309 일곱난쟁이 (Java)

https://www.acmicpc.net/problem/2309

 

2309번: 일곱 난쟁이

아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다.

www.acmicpc.net

9명중 7명을 고르는 문제이기 때문에 경우의 수가 많지 않다.

난쟁이가 아닌 2명만을 고르면 되기 때문에 9C2 = 36 가지 경우의 수가 있다.

순서가 없는 조합문제는 nCr => n! / r! 과 같이 경우의 수를 계산할 수 있다.

 

문제의 요건에서 두명의 난쟁이의 키를 빼면 100 이 되기 때문에 모두 반복할 수 있도록,

이중 배열을 사용하여 하나씩 선택해 나가는 형태로 구현하였다.

 

 

1을 선택하면 2부터 나머지를 탐색하고, 2를 선택했을 때는 이미 1을 선택했을 때 모든 조합을 확인하였기 때문에 1은 제외하고 확인한다.

 

'자료구조와 알고리즘' 카테고리의 다른 글

[Java] 프로그래머스 - 순위  (0) 2021.01.07
LinkedList(연결리스트)  (0) 2019.03.04