😎 κ³΅λΆ€ν•˜λŠ” μ§•μ§•μ•ŒνŒŒμΉ΄λŠ” μ²˜μŒμ΄μ§€?

[BAEKJOON C++] 1037_μ•½μˆ˜ λ³Έλ¬Έ

πŸ¦₯ μ½”ν…Œ/BAEKJOON

[BAEKJOON C++] 1037_μ•½μˆ˜

μ§•μ§•μ•ŒνŒŒμΉ΄ 2023. 8. 14. 23:51
728x90
λ°˜μ‘ν˜•
μ–‘μˆ˜ Aκ°€ N의 μ§„μ§œ μ•½μˆ˜κ°€ λ˜λ €λ©΄, N이 A의 λ°°μˆ˜μ΄κ³ , Aκ°€ 1κ³Ό N이 μ•„λ‹ˆμ–΄μ•Ό ν•œλ‹€. 
μ–΄λ–€ μˆ˜ N의 μ§„μ§œ μ•½μˆ˜κ°€ λͺ¨λ‘ μ£Όμ–΄μ§ˆ λ•Œ, N을 κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

μž…λ ₯
첫째 μ€„에 N의 μ§„μ§œ μ•½μˆ˜μ˜ κ°œμˆ˜κ°€ μ£Όμ–΄μ§„λ‹€. 
이 κ°œμˆ˜λŠ” 50보닀 μž‘κ±°λ‚˜ κ°™μ€ μžμ—°μˆ˜μ΄λ‹€. 
λ‘˜μ§Έ μ€„μ—λŠ” N의 μ§„μ§œ μ•½μˆ˜κ°€ μ£Όμ–΄μ§„λ‹€.
1,000,000보닀 μž‘κ±°λ‚˜ κ°™κ³ , 2보닀 ν¬κ±°λ‚˜ κ°™μ€ μžμ—°μˆ˜μ΄κ³ , μ€‘λ³΅λ˜μ§€ μ•ŠλŠ”λ‹€.

좜λ ₯
첫째 μ€„에 N을 μΆœλ ₯ν•œλ‹€. N은 ν•­μƒ 32λΉ„νŠΈ λΆ€ν˜ΈμžˆλŠ” μ •μˆ˜λ‘œ ν‘œν˜„ν•  μˆ˜ μžˆλ‹€.
// [1037] μ•½μˆ˜

/*
μ–‘μˆ˜ Aκ°€ N의 μ§„μ§œ μ•½μˆ˜κ°€ 되렀면, N이 A의 배수이고, Aκ°€ 1κ³Ό N이 μ•„λ‹ˆμ–΄μ•Ό ν•œλ‹€. 
μ–΄λ–€ 수 N의 μ§„μ§œ μ•½μˆ˜κ°€ λͺ¨λ‘ μ£Όμ–΄μ§ˆ λ•Œ, N을 κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

μž…λ ₯
첫째 쀄에 N의 μ§„μ§œ μ•½μˆ˜μ˜ κ°œμˆ˜κ°€ 주어진닀. 
이 κ°œμˆ˜λŠ” 50보닀 μž‘κ±°λ‚˜ 같은 μžμ—°μˆ˜μ΄λ‹€. 
λ‘˜μ§Έ μ€„μ—λŠ” N의 μ§„μ§œ μ•½μˆ˜κ°€ 주어진닀.
1,000,000보닀 μž‘κ±°λ‚˜ κ°™κ³ , 2보닀 ν¬κ±°λ‚˜ 같은 μžμ—°μˆ˜μ΄κ³ , μ€‘λ³΅λ˜μ§€ μ•ŠλŠ”λ‹€.

좜λ ₯
첫째 쀄에 N을 좜λ ₯ν•œλ‹€. N은 항상 32λΉ„νŠΈ λΆ€ν˜ΈμžˆλŠ” μ •μˆ˜λ‘œ ν‘œν˜„ν•  수 μžˆλ‹€.
*/

#define _CRT_SECURE_NO_WARNINGS
// ν‘œμ€€ μŠ€νŠΈλ¦Όμ—μ„œ 읽기 및 μ“°κΈ°λ₯Ό μ œμ–΄ν•˜λŠ” 개체λ₯Ό μ„ μ–Έ
#include <iostream>
#include <algorithm>    // find
#include <string>
#include <cmath>        // abs
#include <vector>
#include <queue>
using namespace std;

int main() {
    int arr[51];
    int n;
    // μ§„μ§œ μ•½μˆ˜μ˜ 개수
    cin >> n;

    for (int i = 0; i < n; i++) {
        // N의 μ§„μ§œ μ•½μˆ˜
        cin >> arr[i];
    }

    // 1κ³Ό N은 λΊ€ λ‚˜λ¨Έμ§€κ°€ μ§„μ§œ μ•½μˆ˜
    sort(arr, arr + n);
    
    // μ΅œμ†Ÿκ°’κ³Ό μ΅œλŒ“κ°’μ„ κ³±ν•œκ²Œ N
    int ans = arr[0] * arr[n - 1];
    cout << ans;
	return 0;
}

728x90
λ°˜μ‘ν˜•
Comments