반응형
문제
https://www.acmicpc.net/problem/2309
풀이 과정
9명 중 7명을 골라서 합이 100인 것. ( 9 - 7 = 100 )
오름차순으로 출력
코드
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int a[9];
for (int i = 0; i < 9; ++i)
{
cin >> a[i];
}
sort(a, a + 9);
while (next_permutation(a, a + 9))
{
int sum = 0;
for (int i = 0; i < 7; ++i)
sum += a[i];
if (sum == 100)
break;
}
for (int i = 0; i < 7; ++i)
cout << a[i] << "\n";
}
풀이
1. 9명 난쟁이의 키를 입력받는다.
2. 난쟁이를 키순으로 sort 시켜준다.
3. 난쟁이 7명의 키가 100이 나올때까지 while문을 돌린다.
후기
algorithm에 next_permutation 이라는 함수는 처음 알게 되었는데, 이렇게 신기한게 있을 줄이야.. 상상도 못했었다.
자주 애용해먹어야겠다 +_+..
반응형
'Etc > Algorithm' 카테고리의 다른 글
[BOJ] 2559 수열 (0) | 2022.07.17 |
---|---|
[BOJ]9996번 한국이 그리울 땐 서버에 접속하지 (0) | 2022.07.14 |
[BOJ]11655번 ROT13 (0) | 2022.07.14 |
[BOJ]2979번 트럭 주차 (0) | 2022.07.13 |
[BOJ]10808-알파벳 개수 (0) | 2022.07.12 |