목차
백준 단계별로 풀어보기
25.12.01
18단계: 심화 2
1037번: 약수
문제 링크 : https://www.acmicpc.net/problem/1037
문제 풀이
: N의 약수 중 1과 N이 아닌 약수 A에 대하여 A의 최솟값과 A의 최댓값을 곱하면 N을 구할 수 있다.
- StreamReader로 입력값을 받아 int값으로 변환하여 N의 진짜 약수의 개수를 담을 변수 count 에 담고, 진짜 약수들을 입력받아 int값으로 변환하여 int형 배열 factors 에 담는다.
- 진짜 약수는 1,000,000보다 작거나 같고 2보다 크거나 같은 자연수미여 중복되지 않으므로 최솟값 min 은 1,000,000 그리고 최댓값 max 는 1 로 초기화한다.
- foreach 반복문을 통해 진짜 약수의 최솟값과 최댓값을 구한다.
- StreamWriter로 찾은 최솟값과 최댓값의 곱을 출력한다.
정답 코드
using System.IO;
class Backjoon
{
static void Main(string[] args)
{
using var sr = new StreamReader(Console.OpenStandardInput());
using var sw = new StreamWriter(Console.OpenStandardOutput());
int count = int.Parse(sr.ReadLine());
int[] factors = sr.ReadLine().Split().Select(int.Parse).ToArray();
int min = 1000000;
int max = 1;
foreach (var f in factors)
{
if (f < min) min = f;
if (f > max) max = f;
}
sw.Write(min * max);
}
}'Development > Baekjoon' 카테고리의 다른 글
| [C#] 25192번: 인사성 밝은 곰곰이 (0) | 2025.12.02 |
|---|---|
| [C#] 1010번: 다리 놓기 (0) | 2025.11.30 |
| [C#] 11050번: 이항 계수 1 (0) | 2025.11.29 |
| [C#] 10872번: 팩토리얼 (0) | 2025.11.28 |
| [C#] 24723번: 녹색거탑 (0) | 2025.11.27 |