백준 문제풀이
1037번: 약수
하다블
2022. 3. 23. 19:10
반응형
문제는 다음과 같습니다.
https://www.acmicpc.net/problem/1037
1037번: 약수
첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되
www.acmicpc.net
풀이 코드는 다음과 같습니다.
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int num;
cin >> num;
vector<int>v;
for (int i{ 0 }; i < num; i++)
{
int n;
cin >> n;
v.push_back(n);
}
int mini = v[0];
int maxi=v[0];
for (int i{ 0 }; i < v.size(); i++)
{
if (mini >= v[i])
{
mini = v[i];
}
if (maxi <= v[i])
{
maxi = v[i];
}
}
cout << mini * maxi << endl;
}
조건에서 1과 자기자신을 제외한 약수만 주어주더라도 결국 2번째로 작은 값과 2번째로 큰 값을 곱하게 된다면 원하는 값을 얻을 수 있습니다. 문제가 어렵지 않기 때문에 주어진 값 중 최솟값, 최댓값 찾는 방법만 익히시면 풀 수 있을 것 같습니다.
반응형