알고리즘/삼성 SW_Expert

<삼성 SW Expert Academy> 2072번 홀수만 더하기 java 문제풀이

Han_5ung 2021. 12. 31. 02:37

문제출처

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=1&contestProbId=AV5QSEhaA5sDFAUq&categoryId=AV5QSEhaA5sDFAUq&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=1&pageSize=10&pageIndex=1&&&&&&&&&& 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

문제

10개의 수를 입력 받아, 그 중에서 홀수만 더한 값을 출력하는 프로그램을 작성하라.

 

풀이

import java.util.Scanner;
import java.io.FileInputStream;

public class SW_Expert_2072 {
	public static int t, num1; //테스트 케이스, 10개의 수
	public static int num = 0; //더한 홀수 값

	public static void main(String args[]) throws Exception {
		Scanner sc = new Scanner(System.in);
		t = sc.nextInt();

		for (int i = 1; i <= t; i++) { //테스트 케이스만큼 반복
			for (int j = 0; j < 10; j++) {
				num1 = sc.nextInt();  //정수 입력
				sum(num1);
			}
			System.out.println("#" + i + " " + num);
			num = 0; //첫 번째 테스트 케이스 종료 후 num값 초기화
		}
	}

	public static void sum(int a) {   
		if (a % 2 != 0) //입력 받은 홀수 판별
			num += a;   //홀수일 경우 num값에 더함
	}

}

입력 받은 정수의 홀수 판별을 위하여 %를 사용하여

%로 나머지가 0이 아닐 경우 홀수로 판단하였다

num값에 홀수를 더한 값을 저장하였는데

주의해야할 점으로

각 테스트 케이스가 종료되었을 때 num값을 초기화해야

다음 테스트 케이스가 진행이 되었을 때 정상적인 값을 표시할 수 있다.