본문 바로가기
Algorithm Problem Solving/BaekJoon

[BaekJoon] 백준 1145 적어도 대부분의 배수 (Python / 파이썬)

by ʚ⇜❅🎕̈❄⇝ɞ 2021. 9. 7.
728x90
반응형

BaekJoon 백준 1145 적어도 대부분의 배수 문제는 서로 다른 다섯 개의 자연수가 있다. 이 수의 적어도 대부분의 배수는 이 수 중 적어도 세 개로 나누어지는 가장 작은 자연수이다. 적어도 대부분의 배수를 출력하는 브루트 포스에 관한 문제이다. 난이도는 Bronze 1이다.

 

BaekJoon 1145 적어도 대부분의 배수 문제 정보

출처

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

알고리즘 분류

- 브루트 포스 알고리즘 (brute force algorithm)

난이도

- 브론즈 1 / Bronze 1

 

적어도 대부분의 배수 문제 요약

  • 다섯 개의 자연수가 있다. 이 수의 적어도 대부분의 배수는 위의 수 중 적어도 세 개로 나누어지는 가장 작은 자연수이다.
  • 100보다 작거나 같은 자연수이고, 서로 다른 다섯 개의 자연수가 주어질 때, 적어도 대부분의 배수를 구하여 출력한다.

 

문제 풀이 과정

  1. 서로 다른 5개의 자연수를 리스트에 저장한다.
  2. 리스트의 가장 작은 수를 나눠질 수에 저장한다.
  3. 나눠질 수를 리스트의 5개의 수로 각각 나눴을 때, 나누어 떨어지면 카운트한다.
  4. 리스트를 전체 탐색했을 때 카운트가 3 이상이면 break 하고 2 이하면 현재 나눠질 수에 1을 더하여 다음 나눠질 수로 지정한다.
  5. 카운트가 3 이상이 될 때까지 2~4 과정을 반복한다.
  6. 적어도 대부분의 배수(나눠질 수)를 출력한다.

 

코드 및 설명
  • mul - 나눠질 수
num = list(map(int, input().split()))
mul = min(num)
while 1:
    cnt = 0
    for n in num:
        if mul % n == 0:
            cnt += 1
    if cnt >= 3:
        break
    mul += 1
print(mul)

BaekJoon 백준 1145 적어도 대부분의 배수 문제를 파이썬 python 브루트 포스 알고리즘(brute force)으로 풀어보았다. 난이도는 Bronze 브론즈 1이다. 

728x90
반응형

댓글