-
Java 1145 적어도 대부분의 배수PS 2023. 5. 11. 20:42
풀이 :
브루트포스 알고리즘의 문제로서 단순히 값이 나올 때 까지 계산하여주어 풀었습니다.
3개의 수에서 가장 큰 값을 기준으로 3개의 값이 나누어떨어지는 값을 찾으면 되는 문제였습니다.
3중 for문으로 탐색 범위를 정한 뒤 while문에서 조건에 맞는 값을 찾아주었습니다.
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java.util.StringTokenizer; public class Main{ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine(), " "); int[] arr = new int[5]; for(int i = 0; i < 5; i++){ arr[i] = Integer.parseInt(st.nextToken()); } int result = Integer.MAX_VALUE; for(int i = 0; i < arr.length-2; i++){ for(int j = i+1; j < arr.length-1; j++){ for(int k = j+1; k < arr.length; k++){ int tmp; if(arr[i] > arr[j] && arr[i] > arr[k]){ tmp = arr[i]; }else if(arr[j] > arr[i] && arr[j] > arr[k]){ tmp = arr[j]; }else { tmp = arr[k]; } while(true){ if(tmp%arr[i] == 0 && tmp%arr[j] == 0 && tmp%arr[k] == 0){ break; } tmp++; } if(tmp < result){ result = tmp; } } } } System.out.println(result); } }
'PS' 카테고리의 다른 글
Java 9461 파도반 수열 (0) 2023.05.22 Java 1149 RGB거리 (0) 2023.05.13 Java 2941 크로아티아 알파벳 (0) 2023.05.06 Java 1929 소수 구하기 (0) 2023.05.05 Java 1920 수 찾기 (0) 2023.05.05