-
[C++] 백준-1037 약수CS & Algorithm & Data Structure & C/C++ 2023. 8. 16. 22:40반응형
위 문제를 해결하기 위한 아이디어는 다음과 같다.
1. 주어진 약수 중에서 가장 작은 약수와 가장 큰 약수를 찾는다.
2. 가장 작은 약수와 가장 큰 약수를 곱한다.
즉, 주어진 약수들을 입력받아서 벡터에 저장한 후, 최소값과 최대값을 찾아서 곱해주면 답을 찾을 수 있다.
Javascript에 min, max가 있듯이 C++에도 비슷한 것이 있다.
min_element(), max_element()이다.
#include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; vector<int> arr(n); for(int i=0; i<n; i++) { cin >> arr[i]; } // 약수 중 최소값, 최대값 찾기 int min = *min_element(arr.begin(), arr.end()); int max = *max_element(arr.begin(), arr.end()); // 최대값과 최소값을 곱해서 원래 수 구하기 int result = min * max; cout << result << '\n'; return 0; }
반응형'CS & Algorithm & Data Structure & C > C++' 카테고리의 다른 글
[C++] 백준-2309 일곱 난쟁이 (0) 2023.08.29 [C++] 백준-1620 (나는야 포켓몬 마스터 이다솜) (0) 2023.08.15 [C++] 백준-4375 (0) 2023.08.15 백준 10430번 : 나머지 (모듈러 연산) (0) 2023.08.15 C++ 중복 없애기 (unique, erase) (0) 2023.07.01