문제 내용은 입력으로 사과와 바나나의 갯수를 받은 뒤, 사과와 바나나를 모두 공평하게 나눠 주었을 경우 사람, 사람별 사과, 바나나 갯수를 출력해주면 되는 문제인데
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int[] fruits = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();
int min = Math.min(fruits[0], fruits[1]);
for (int i = 1; i <= min; i++) {
if (fruits[0] % i == 0 && fruits[1] % i == 0) {
System.out.println(i + " " + fruits[0] / i + " " + fruits[1] / i);
}
}
}
}
문제를 풀어보자면 사람 수는 크게 신경 쓸 필요 없이 1부터 시작해서 사과와 바나나 중 작은 숫자까지 for문을 돌려주면서 나누어 떨어진다면 해당 케이스를 양식에 맞춰 출력해주면, 몇명에게 몇개씩 나누어 줄 경우 공평하게 나눠 떨어지는 경우만을 출력해줄 수 있다
Leave a Reply