복대가리의 개발

[C#] 백준 (알고리즘)/브론즈 문제

[백준 - C#] 1145 적어도 대부분의 배수

복대가리 2022. 7. 12. 23:51
728x90

문제링크

https://www.acmicpc.net/problem/1145

 

1145번: 적어도 대부분의 배수

첫째 줄에 다섯 개의 자연수가 주어진다. 100보다 작거나 같은 자연수이고, 서로 다른 수이다.

www.acmicpc.net

문제

다섯 개의 자연수가 있다. 이 수의 적어도 대부분의 배수는 위의 수 중 적어도 세 개로 나누어 지는 가장 작은 자연수이다.
서로 다른 다섯 개의 자연수가 주어질 때, 적어도 대부분의 배수를 출력하는 프로그램을 작성하시오.

조건

시간제한 : 2초
메모리 제한 : 128 MB

입력

첫째 줄에 다섯 개의 자연수가 주어진다. 100보다 작거나 같은 자연수이고, 서로 다른 수이다.

출력

첫째 줄에 적어도 대부분의 배수를 출력한다.

 

문제풀이

이번 문제의 경우 주어진 자연수가 작기 때문에 완전 탐색을 이용하였습니다.

주어진 값들 중 최소값을 이용하여 +1씩 더해주며 탐색하기 시작하여

적어도 세 개로 나누어 질때의 값을 찾도록 하였습니다.

C# 코드

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
31
32
33
static void Main(string[] args)
{
    StreamWriter writer = new StreamWriter(Console.OpenStandardOutput());
    StreamReader reader = new StreamReader(Console.OpenStandardInput());
 
    int[] input = Array.ConvertAll(reader.ReadLine().Split(), int.Parse);
 
    long result = input.Min();
    int count = 0;
 
    // 값이 작기 때문에 완전탐색
    while (true)
    {
        for (int i = 0; i < 5; i++)
        {
            // 나누어 떨어진 값이 0이라면 count 증가
            if (result % input[i] == 0)
                count++;
        }
 
        // 적어도 세 개로 나누어 지는 가장 작은 자연수면 반복문 탈출
        if (count >= 3)
            break;
 
        count = 0;
        result++;
    }
 
    writer.WriteLine(result);
 
    writer.Close();
    reader.Close();
}
cs
728x90

'[C#] 백준 (알고리즘) > 브론즈 문제' 카테고리의 다른 글

[백준 - C#] 1924 2007년  (0) 2022.07.13
[백준 - C#] 1225 이상한 곱셈  (0) 2022.07.13
[백준 - C#] 1233 주사위  (0) 2022.07.12
[백준 - C#] 1284 집 주소  (0) 2022.07.11
[백준 - C#] 1100 하얀 칸  (0) 2022.07.10