하루 한 접시
[백준] 1037 약수 [C#]
NaZZU
2024. 3. 25. 23:32
Wls 약수는 1과 자신을 제외한 약수라고 한다.
진짜 약슈의 개수와 진쨔 약수가 주어질 때, 원래의 수를 구하라고 한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
using System.IO;
using System.Text;
using System.Linq;
using System.Reflection.PortableExecutable;
namespace 연습장
{
internal class Program
{
static void Main(string[] args)
{
int N = int.Parse(Console.ReadLine());
int[] arr = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
if (N == 1)
print.WriteLine(Math.Pow(arr[0], 2));
else
{
Array.Sort(arr);
print.WriteLine(arr[0] * arr[arr.Length - 1]);
}
}
}
}
|
cs |
찐자 약수가 한개면 그 수를 제곱해서 출력해준다.
진짜 약수가 두개 이상이면 정렬을 해준 뒤, 첫번째와 마지막 값을 곱해서 출력해준다.
생각해보니 그냥 foreach 문을 이용해 모든 원소들을 한번씩 훑으면서 최저값, 최대값을 구해서 그 둘을 곱한걸 출력하면
시간복잡도 면에서 이득을 좀 볼 수 있을거 같다.