본문 바로가기

Algorithm/Brute Force

(C++) - 백준(BOJ) 4641 : Doubles

반응형

www.acmicpc.net/problem/4641

 

4641번: Doubles

2~15개의 서로 다른 자연수로 이루어진 리스트가 있을 때, 이들 중 리스트 안에 자신의 정확히 2배인 수가 있는 수의 개수를 구하여라. 예를 들어, 리스트가 "1 4 3 2 9 7 18 22"라면 2가 1의 2배, 4가 2의

www.acmicpc.net

brute force문제였습니다.

 

풀이방법

 while loop를 돌며 x를 계속 입력받습니다. 

 x가 -1이면 loop를 탈출합니다.

 x가 양수라면 vector에 넣어줍니다.

 x가 0이면 답을 구하고 vector와 ans변수를 초기화해줍니다.

 

 

Code

#include <bits/stdc++.h>
using namespace std;
vector <int> num;
int ans;

int main(){
    while(1){
        int x;
        cin >> x;
        if(x == -1) break;
        if(x) {num.push_back(x); continue;}
        for(int i = 0; i < num.size(); i++)
            for(int j = 0; j < num.size(); j++)
                if(num[i] == num[j] * 2) 
                    ans++;
        cout << ans << '\n';
        num.clear();
        ans = 0;
    }
}