728x90
반응형
https://www.acmicpc.net/problem/2309
2309번: 일곱 난쟁이
아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다.
www.acmicpc.net
1. Logic
1. 난쟁이들의 키의 총 합이 100이고 난쟁이들의 수가 정해져있기 때문에 키를 입력받으면서 동시에 전부 더해준다
2. 2명을 제외하면 되기 때문에 2중 for문을 돌면서 2명의 키를 뺀것이 100이 되면 출력해준다.
2. Code
#include<bits/stdc++.h>
using namespace std;
vector<int> vec;
int main() {
int sum = 0;
for(int i = 0; i < 9; i++) {
int a;
cin >> a;
vec.push_back(a);
sum += a;
}
sort(vec.begin(), vec.end());
for(int i = 0; i < 9; i++) {
for(int j = i + 1; j< 9; j++) {
if(sum - vec[i] - vec[j] == 100) {
for(int k = 0; k <9; k++) {
if(k == i || k == j) continue;
cout << vec[k] << "\n";
}
return 0;
}
}
}
}
3. Feedback
- Brute force에 대한 감을 잡기 위해서 아주 쉬운 난이도의 문제를 풀고있지만 첫 접근?을 어떻게 해야할지 잘 감이 안온다.
728x90
반응형
'Algorithm > Beakjoon' 카테고리의 다른 글
[백준/Baekjoon] 2437 저울 C++ :: Greedy (0) | 2023.08.08 |
---|---|
[백준/Baekjoon] 10448 유레카 이론 C++ :: Brute force (0) | 2023.08.08 |
[백준/Baekjoon] 10026 적록색약 C++ :: BFS (0) | 2023.08.07 |
[백준/Baekjoon] 1753 최단경로 C++ :: Dijkstra (0) | 2023.08.07 |
[백준/Baekjoon] 1238 파티 C++ :: Dijkstra (0) | 2023.08.07 |