백준 2981
-
[백준 2981] - [수학 최대공약수] - 검문 (JAVA)알고리즘/수학 2018. 12. 4. 11:07
문제 링크 : https://www.acmicpc.net/problem/2981 이 문제는 정답률에서도 나오듯이 극악의 문제이다. 왜 극악이라 하냐면 쓸데없는데서 시간을 낭비 했기에 극악의 문제로 생각한다. 6 34 38 총 3개의 수가 주어지고 종이에 적은수 M으로 나누었을때 나머지가 모두 같게 되는 모든 M을 찾아 보기위해 노력 해봤다. 처음에는 시간초과가 발생했다. 시간초과를 발생하게한 방식은 다음과 같다. 입력 받은 수의 배열 arr에서 인덱스 1번부터 arr.length-2 까지 반복하면서 i 기준 arr[i] - arr[i-1] , arr[i+1] - arr[i] 두 수의 최대 공약수를 구하고 그 최대 공약수중에서 제일 작은 최대 공약수의 약수를 반환했다. 결과는 제대로 나왔다. 하지만 시간 ..