import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.LinkedList;
import java.util.Queue;
import java.util.stream.Collectors;
public class baekjoon_21312 {
static int A, B, C;
static ArrayList<Integer> cocktails = new ArrayList<>();
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] inputs = br.readLine().split(" ");
A = Integer.parseInt(inputs[0]);
B = Integer.parseInt(inputs[1]);
C = Integer.parseInt(inputs[2]);
cocktails.add(A);
cocktails.add(B);
cocktails.add(C);
cocktails.add(A * B);
cocktails.add(B * C);
cocktails.add(A * C);
cocktails.add(A * B * C);
cocktails = (ArrayList<Integer>) cocktails.stream().sorted(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
// 왼작마오
if (o1 % 2 == 1 && o2 % 2 == 0) {
return 1;
} else if (o1 % 2 == 0 && o2 % 2 == 1) {
return -1;
} else if (o1 % 2 == 0 && o2 % 2 == 0) {
return o1 < o2 ? -1 : o1 == o2 ? 0 : 1;
} else {
return o1 < o2 ? -1 : o1 == o2 ? 0 : 1;
}
}
}).collect(Collectors.toList());
System.out.println(cocktails.get(cocktails.size() - 1));
}
}
comparator를 구현하는 것과, stream을 쓰는 것이 익숙하지 않다. IDE가 없었으면 못했을 것 같다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int A = scanner.nextInt();
int B = scanner.nextInt();
int C = scanner.nextInt();
int maximum = 1;
if (A % 2 != 0) {
maximum *= A;
}
if (B % 2 != 0) {
maximum *= B;
}
if (C % 2 != 0) {
maximum *= C;
}
if (A % 2 == 0 && B % 2 == 0 && C % 2 == 0) {
maximum = A * B * C;
}
System.out.println(maximum);
}
}
홀수가 하나라도 있거나 하나도 없거나이다. 하나라도 있으면, 홀수들만 곱하면 된다. 하나도 없으면 전부 짝수니 전부 곱하면된다.