-
728x90
* 접근한 방법
- 완전탐색#include <iostream> #include <vector> using namespace std; int main() { int N, M; cin >> N >> M; int sum = 0; vector<int> card(N+1); for (int i = 0; i < N; i++) cin >> card[i]; for (int i = 0; i < N; i++) for (int j = i+1; j < N; j++) for (int k = j+1; k < N; k++) if (card[i] + card[j] + card[k] <= M && card[i] + card[j] + card[k] > sum) sum = card[i] + card[j] + card[k]; cout << sum; }
* 생각하지 못한점
- 반복문 i, j, k를 각각 0~N까지 돌렸었는데, 이 경우 같은 카드가 2장 선택되는 문제가 있었음
이를 해결하기 위해 반복문 시작위치를 조정해주었음'알고리즘 풀이 > 백준' 카테고리의 다른 글
[7568] 백준 : 덩치(C++) (0) 2020.04.27 [2231] 백준 : 분해합(C++) (0) 2020.04.27 [11866] 백준 : 요세푸스 문제 0(C++) (0) 2020.04.27 [2164] 백준 : 카드2(C++) (0) 2020.04.27 [18258] 백준 : 큐2(C++) (0) 2020.04.27 댓글