728x90
출처
https://www.acmicpc.net/problem/1145
내 풀이
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
vector<int> v;
int candiv = 0;
int main()
{
for (int i = 0; i < 5; i++)
{
int input = 0;
cin >> input;
v.push_back(input);
}
sort(v.begin(), v.end());
int start = v[0];
while (1)
{
for (int i = 0; i < 5; i++)
{
if (start % v[i] == 0) candiv++;
}
if (candiv >= 3)
{
cout << start << endl;
break;
}
candiv = 0;
start++;
}
}
해설
5개의 숫자를 일단 벡터에 넣은 후 오름차순 정렬해준 뒤 반복문을 통해 가장 작은 v[0]부터 1씩 올려가며 만약 세 개이상으로 나누어지면 해당 수를 출력하였다.
느낀점
문제를 풀고 알고리즘 분류를 보니 브루트포스 알고리즘이었다. 잘 푼거 맞나?
'백준 코딩테스트 > 브론즈' 카테고리의 다른 글
2953) 나는 요리사다 (C++) (0) | 2022.05.31 |
---|---|
10808) 알파벳 개수 (C++) (0) | 2022.05.29 |
2920) 음계 (C++) (0) | 2022.05.27 |
1100) 하얀 칸 (C++) (0) | 2022.05.19 |
3034) 앵그리 창영 (C++) (0) | 2022.05.18 |