[java] 백준 21312번 홀짝 칵테일알고리즘/백준2021. 8. 6. 16:08
Table of Contents
문제 내용이 뭔가 긴데... 그냥 요약해주자면...
입력을 홀수 홀수 짝수 입력받았을 때 홀수 X 홀수 해주면 되고
홀수 홀수 홀수 입력 받았을 때 홀수 X 홀수 X 홀수 해주면 된다.
짝수 짝수 짝수 입력 받았을 때 짝수 X 짝수 X 짝수 해주면 된다.
다시 한번 예를 들어주자면 짝수 짝수 홀수가 나왔을 때 1 X 홀수가 된다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] arr = new int[3];
int tot = 1;
for (int i = 0; i < 3; i++) {
arr[i] = sc.nextInt();
// 제한 조건 1 ≤ A, B, C ≤ 100
if (1 <= arr[i] && arr[i] <= 100) {
// 세 수중 홀수인 것들만 곱해줌.
if (arr[i] % 2 == 1) {
tot *= arr[i];
// 세 수가 모두 짝수일 때의 상황을 고려
} else if (i == 2) {
if (arr[i - 2] % 2 == 0 && arr[i - 1] % 2 == 0 && arr[i] % 2 == 0){
tot = arr[i-2] * arr[i-1] * arr[i];
}
}
} else {
break;
}
}
System.out.println(tot);
}
}
제한이 있었기 때문에 제한조건을 걸어주고, 제한조건에 위배된다면 break로 반복문을 탈출하도록 했다.
세 수가 모두 짝수일 때의 상황을 잘라서 보자면
i==2를 해준 이유는 반복문 돌다가 안의 if문에서 배열 에러가 나면 안돼서 반복문 마지막에 실행하도록 하였다.
} else if (i == 2) {
if (arr[i - 2] % 2 == 0 && arr[i - 1] % 2 == 0 && arr[i] % 2 == 0){
tot = arr[i-2] * arr[i-1] * arr[i];
}
}
'알고리즘 > 백준' 카테고리의 다른 글
[java] 백준 2747번 피보나치 수 (4) | 2021.08.07 |
---|---|
[java] 백준 21866번 추첨을 통해 커피를 받자 (0) | 2021.08.07 |
[java] 백준 10870번 피보나치 수 5 (4) | 2021.08.05 |
[java] 백준 2721번 삼각수의 합 (0) | 2021.08.05 |
[java] 백준 2355번 시그마 (0) | 2021.08.04 |
@펄찌 :: Pearl's Story
펄의 일상이 궁금한 사람 요기~
즐거운 하루 되셨으면 좋겠습니다😊