본문 바로가기

알고리즘 문제 풀이

백준2309 - 일곱 난쟁이

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

 

2309번: 일곱 난쟁이

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

www.acmicpc.net

 

 

문제 풀이 

 

 

전체 난쟁이의 키의 합은 일곱 난쟁이의 키의 합인 100과 나머지 두 난쟁이의 키의 합이다 즉 전체 난쟁이의 키의 총 합은 위의 예제 20 7 23 19 10 15 25 8 13 에서는 총 140이다.

 

여기서 25와 15의 값을 뺀 값이 100이다

 

따라서 반복문을 통한 완전 탐색 알고리즘을 이용해서 두 난쟁이를 제외한 값을 출력하면 된다

이때 2개를 빼서 합이 100이 되는 모든  쌍을 찾으면 안되고 한 쌍을 찾는 순간 끝내야 한다 그런 쌍이 여러개 있을 때 모두를 지워버리면 당연히 안된다 

 

따라서 If문 안에 있는 for문이 끝나면 return 해주어야 한다