[코테 스터디 36일차 TIL] 적어도 대부분의 배수

dev_jubby·2024년 8월 26일
0

코테스터디

목록 보기
36/36

💛 오늘의 학습 키워드

[완전탐색] 적어도 대부분의 배수



📝 문제

문제 설명

다섯 개의 자연수가 있다. 이 수의 적어도 대부분의 배수는 위의 수 중 적어도 세 개로 나누어 지는 가장 작은 자연수이다.

서로 다른 다섯 개의 자연수가 주어질 때, 적어도 대부분의 배수를 출력하는 프로그램을 작성하시오.

입력

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

출력

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

입출력 예

Example 1 입력

30 42 70 35 90

Example 1 출력

210


Example 2 입력

1 2 3 4 5

Example 2 출력

4


Example 3 입력

30 45 23 26 56

Example 3 출력

1170


Example 4 입력

3 14 15 92 65

Example 4 출력

195




💬 내 풀이

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;

public class Main {

  public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    
    int[] multiples = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();
    int check = 0;
    int increment = 1;
      
    while (true) {
      check = 0;

      for (int i = 0; i < 5; i++) {
        if (increment % multiples[i] == 0) {
          check++;
        }
      }

      if (check >= 3) {
        break;
      }
      increment++;
    }
    System.out.println(increment);
  }
}

💻 내 접근 방법

  1. while 반복문을 돌리면서 전체 완전 탐색을 진행한다.
  2. increment 를 1씩 증가시키면서 주어진 수 5개로 모두 나눠보고 나누어 떨어지면 check 값을 하나씩 증가시킨다.
  3. check 가 3이 되면 적어도 3개로 나누어 떨어진 수가 됨으로 그떄의 increment 값을 return 한다.



profile
신입 개발자 쥬비의 기술 블로그 입니다.

0개의 댓글