문제 링크
접근 방법
a, b, c와 세 수를 각각 곱한 값 7개를 만든다
리스트에 담아 큰 수 먼저 정렬, 그 다음으로 홀수를 정렬
정렬을 2번 하는 것이 비효율적이라 생각이 들었다.
스터디원의 얘기를 들어보니 홀수가 없다면 전부 곱하고, 홀수가 있다면 홀수만 계산하는 방법을 선택했다고 한다.
코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.StringTokenizer;
public class Main_수의곱셈 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer tokens = new StringTokenizer(br.readLine());
int a = Integer.parseInt(tokens.nextToken());
int b = Integer.parseInt(tokens.nextToken());
int c = Integer.parseInt(tokens.nextToken());
ArrayList<Integer> list = new ArrayList<>();
list.add(a);
list.add(b);
list.add(c);
list.add(a * b);
list.add(a * c);
list.add(b * c);
list.add(a * b * c);
//큰 수 정렬
Collections.sort(list, Collections.reverseOrder());
//홀수 정렬
Collections.sort(list, ((x, y) ->{
if(x%2==1 && y%2==0){
return x-y;
}
return y-x;
}));
System.out.println(list.get(0));
}
}'Problem Solving > CodeTree' 카테고리의 다른 글
| [CodeTree Java] 함께가는 열차 (0) | 2023.04.25 |
|---|---|
| [CodeTree Java] 우유 생산량 경쟁 (0) | 2023.04.23 |
| [CodeTree Java] 두 단어 중 특정 알파벳 (0) | 2023.04.17 |
| [CodeTree Java] 코드트리 빵 (0) | 2023.03.30 |
| [Codetree Java] 꼬리잡기놀이 (0) | 2023.03.22 |