본문 바로가기
Algorithm/구현

[Python3] 백준 1145번 적어도 대부분의 배수

by HANNI하니 2022. 12. 29.

1145번: 적어도 대부분의 배수 (브론즈1)

문제

 

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

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

www.acmicpc.net

정답

자연수 5개 중 최솟값부터 1씩 증가하면서, 3개 이상 나누어 떨어지는 수 찾으면 바로 출력 (최소값)

1부터 안찾고 최소값부터 찾아도 된다. 배수는 무조건 최소값 이상이니까!

들여쓰기 잘해야하는 문제.

a = list(map(int,input().split())) #list를 int자연수로 map변환
a_min = min(a) #5개의 자연수 중 최소값

while True:
    cnt = 0
    for i in range(5):
    	if a_min % a[i] == 0: #0으로 나누어 떨어지는 a_min 찾기
        	cnt += 1
    if cnt >= 3 : #3개 이상 나누어 떨어지는 수 찾으면 반복문 끝
    	print(a_min)
        break
    a_min += 1 #a_min 하나씩 증가시키면서 배수 찾기

레퍼런스

  • 브루트 포스 알고리즘 BruteFore(p,t)

검색 대상이 되는 원본 문자열의 처음부터 끝까지 차례대로 순회하며 문자들을 일일이 비교하는 방식의 고지식한 알고리즘. 시간적으로 매우 비효율적이지만 100%의 확률로 정답을 출력한다.

 

(Brute Force) 브루트포스 알고리즘 - 문자열 패턴 매칭

포스팅에서 다룰 브루트 포스 Brute Force 알고리즘은 비교 대상 문자열을 처음부터 끝까지 모두 순회하면서 비교하기 때문에 고지식한 알고리즘이라고도 불리는 문자열 패턴 매칭 알고리즘입니

wondytyahng.tistory.com

  • 정답 깃허브
 

GitHub - yyeongeun/codingtest: 코딩테스트 공부

코딩테스트 공부. Contribute to yyeongeun/codingtest development by creating an account on GitHub.

github.com

 

댓글