반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1. [백준] 백준 21312번 홀짝 칵테일 자바(JAVA)

1) 문제번호 : 21312

 

2) 문제 출처

https://www.acmicpc.net/problem/21312

 

21312번: 홀짝 칵테일

정진이는 특별한 음료를 가지고 있다. 음료들은 정수로 표현되는 고유 번호를 가지고 있다. 정진이는 이 음료들을 섞어 만든 칵테일을 만든다. 이 칵테일은 홀짝 칵테일이라 부르는데, 홀짝 칵

www.acmicpc.net

 

2. 풀이

- 값을 입력 받고, A와 B, C를 홀짝수를 판별하여 각 값을 곱하여 따로 저장한다. 그래서, 홀수가 있는 경우에는 무조건 홀수를 출력해야 하고, 홀수가 없는 경우에는 짝수 중 가장 큰것을 출력하는 것이므로 다 곱해서 각 결과를 출력하면 된다.

- 아래의 코드는 IF문만 사용하는 것인데, 아래를 리팩토링을 하면 배열이나 리스트에 담아서 반복문 1번만 돌리면 된다.

 

3. 소스 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
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 st = new StringTokenizer(br.readLine());
		
		int A = Integer.parseInt(st.nextToken());
		int B = Integer.parseInt(st.nextToken());
		int C = Integer.parseInt(st.nextToken());
		
		int result = 1;
		int result2 = 1;
		
		int sign = 0;
		
		if(A % 2 == 1) {
			result *= A;
			sign = 1;
		} else {
			result2 *= A;
		}
		
		if(B % 2 == 1) {
			result *= B;
			sign = 1;
		} else {
			result2 *= B;
		}
		
		if(C % 2 == 1) {
			result *= C;
			sign = 1;
		} else {
			result2 *= C;
		}
		
		if(sign == 1) {
			System.out.println(result);
		} else {
			System.out.println(result2);
		}
	}
}

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기