[알고리즘 문제] 백준(1145번) - 적어도 대부분의 배수

2024. 11. 20. 17:16·Algorithm Problem Solving

[문제]

문제

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

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

 

입력

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

 

출력

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

 

예제 입출력

예제 입력 예제 출력
30 42 70 35 90 210
1 2 3 4 5 4
30 45 23 26 56 1170
3 14 15 92 65 195

 

 

[문제 해설]

일단 다섯개의 자연수를 받기 위한 입력 객체를 만들면 되고, 입력 값 5개의 각각의 배수에 대한 값 중 3개 이상의 값이 같은 경우 또는 가장 작은 경우에 대한 값을 구하는 문제이다. 위의 예제 입력과 출력을 보면 자세히 알 수 있다.

핵심은 나누어 떨어질 경우 즉, 나머지가 0일 경우에 해당 배수의 값을 출력하겠다는 의미이다.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int[] numbers = new int[5];
        for (int i = 0; i < 5; i++) {
            numbers[i] = scanner.nextInt();
        }

        int candidate = 1;
        while (true) {
            int count = 0;

            for (int num : numbers) {
                if (candidate % num == 0) {
                    count++;
                }
            }
            if (count >= 3) {
                System.out.println(candidate);
                break;
            }
            candidate++;
        }
    }
}

모듈러 연산자(%)를 통해 나머지를 구하고 0일 경우에는 count++ 카운트를 증가시켜준다. 조건에 따르면 3개 이상의 배수의 값을 구해야 하므로, 카운트를 사용을 한다. count가 3개 이상일 경우 break;를 통해 반복문을 나가게 된다. 3개 이상일 경우에 나가는 이유는 또 다른 조건으로 최소값으로 구해야 하기 떄문이다. candidate는 1~?? 숫자까지 하나씩 늘어가면서 자연수의 값과 모듈러를 통해 연산을 하게 된다.

 

 

 

 

'Algorithm Problem Solving' 카테고리의 다른 글

[알고리즘 문제] 백준(1009번) - 분산 처리  (0) 2024.11.07
'Algorithm Problem Solving' 카테고리의 다른 글
  • [알고리즘 문제] 백준(1009번) - 분산 처리
junbin2
junbin2
java.lang.NullPointerException
  • junbin2
    bin's Development Diary
    junbin2
  • 전체
    오늘
    어제
    • 전체보기 (136) N
      • 🎓방송통신대학교 (21) N
        • 🖥️컴퓨터과학과 (1)
        • 🌍유비쿼터스 컴퓨팅 (6) N
        • ⚙️컴퓨터의 이해 (11)
        • 🏛️세계의정치와경제 (3)
      • 📚Computer Science (0)
      • 🛠️Backend (2)
      • ☕Java (10)
        • 📝Java Programming (9)
        • 🧩Java Design Pattern (1)
      • 🌳Spring (9)
        • 🌱Spring Framework (6)
        • 🌱Spring Security (1)
      • ⚡Python (13)
      • 🛢️Database (0)
      • 🌿GitHub (1)
      • 🌐 Network (7)
        • 📜HTTP (7)
      • 🚀DevOps (1)
      • Algorithm Problem Solving (2)
      • Data Structure (1)
      • JavaScript (1)
      • ⛺스파르타코딩클럽 (65)
      • 잡담 (1)
      • 정리가 필요한 글 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    함수
    Python
    클래스
    컴파일러
    유비쿼터스 컴퓨팅
    파이썬
    방송대
    자바
    유비쿼터스 컴퓨팅개론
    spring
    컴퓨터의 이해
    클라우드
    세계화
    스프링
    메모리
    방송통신대학교
    방통대
    Spring Framework
    유비쿼터스
    Java
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
junbin2
[알고리즘 문제] 백준(1145번) - 적어도 대부분의 배수
상단으로

티스토리툴바