티스토리 뷰

알고리즘

[알고리즘] 백준 2309

묵지수 2019. 10. 5. 13:28

문제 링크

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

 

2309번: 일곱 난쟁이

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

www.acmicpc.net

 

풀이

 

풀이방법

 

9명의 난쟁이에서 2명의 난쟁이를 제외한 난쟁이들의 키의 합이 100이 되는 경우를 구하면 되는 문제입니다.

제일 쉽게 접근할 수 있는 방법이 9명에서 2명의 난쟁이를 뽑는 모든 경우의 수를 고려하는 방법이라고 생각하여 브루트 포스를 사용하여 풀었습니다. 9명에서 2명을 뽑는 경우의수는 (9 X 8) / 2 X 1 = 36이므로 시간도 오래 안 걸린다고 생각했습니다.

 

풀이는 다음과 같은 과정으로 진행했습니다.

1. 9명의 난쟁이 키를 모두 더한 값을 변수에 저장해놓았습니다.

2. loop를 돌면서 2명의 난쟁이를 뽑고 모든 난쟁이의 키를 더한 값에서 빼주어 100인지 아닌지의 여부를 확인했습니다.

3. 100이 맞다면 해당 난쟁이들을 제외한 7명의 난쟁이들을 정렬하여 출력해주었습니다.

 

'알고리즘' 카테고리의 다른 글

[알고리즘] 백준 2869  (0) 2019.11.17
[알고리즘] SWEA 2806 N-Queen  (0) 2019.11.02
[알고리즘] SWEA 1868 파핑파핑 지뢰찾기  (0) 2019.11.02
[알고리즘] 백준 13460  (1) 2019.10.13
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함