728x90
출처
https://www.acmicpc.net/problem/1037
내 풀이
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
vector<int> v; //약수들을 넣을 변수
int N = 0;
int main()
{
cin >> N;
int input = 0;
for (int i = 0; i < N; i++)
{
cin >> input;
v.push_back(input);
}
sort(v.begin(), v.end());
//만일 입력받은 수가 1개면 약수를 만들기 위해 서로 곱해줌
if (v.size() == 1) cout << v[0] * v[0];
//그게 아니면 맨 첫번째 값과 마지막 값을 곱해서 약수를 만들어줌
else cout << v[0] * v[v.size() - 1];
}
해설
어떤 수의 약수가 주어졌다고 했기 때문에 가장 작은 값과 큰 값을 곱해주면 풀리는 문제였다.
새로 안 것
문제 푸는 방법
'백준 코딩테스트 > 실버' 카테고리의 다른 글
10844) 쉬운 계단의 수 (C++) (0) | 2022.04.26 |
---|---|
2579) 계단 오르기 (C++) (0) | 2022.04.26 |
1932) 정수 삼각형 (C++) (0) | 2022.04.23 |
1012) 유기농 배추 (C++) (0) | 2022.04.23 |
1149) RGB거리 (C++) (0) | 2022.04.22 |