본문 바로가기
Algorithm/Baekjoon

Baekjoon 2576 홀수 JAVA

by Hunveloper 2022. 7. 7.
728x90

 

2576번: 홀수

7개의 자연수가 주어질 때, 이들 중 홀수인 자연수들을 모두 골라 그 합을 구하고, 고른 홀수들 중 최솟값을 찾는 프로그램을 작성하시오. 예를 들어, 7개의 자연수 12, 77, 38, 41, 53, 92, 85가 주어지

www.acmicpc.net

문제

7개의 자연수가 주어질 때, 이들 중 홀수인 자연수들을 모두 골라 그 합을 구하고, 고른 홀수들 중 최솟값을 찾는 프로그램을 작성하시오.

예를 들어, 7개의 자연수 12, 77, 38, 41, 53, 92, 85가 주어지면 이들 중 홀수는 77, 41, 53, 85이므로 그 합은

77 + 41 + 53 + 85 = 256

이 되고,

41 < 53 < 77 < 85

이므로 홀수들 중 최솟값은 41이 된다.

입력

입력의 첫째 줄부터 일곱 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100보다 작다.

출력

홀수가 존재하지 않는 경우에는 첫째 줄에 -1을 출력한다. 홀수가 존재하는 경우 첫째 줄에 홀수들의 합을 출력하고, 둘째 줄에 홀수들 중 최솟값을 출력한다.

풀이

입력되는 값들은 7개이고, 그 중에서 홀수만을 이용하여 판단하기에

입력받으면서 % 연산자로 나머지가 1인 경우에만 합을 만들고, 최소값을 계산한다.

min값이 999이면 한번도 홀수 값이 들어왔지 않다는 것이기에 -1을 출력한다.

코드
import java.io.*;

public class Main {
	public static void main(String[] args) throws Exception{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int sum=0, min=999;
		for(int i=0;i<7;i++) {
			int tmp=Integer.parseInt(br.readLine());
			if(tmp%2==1) {
				sum+=tmp;
				min=Math.min(tmp, min);
			}
		}
		if(min==999)
			System.out.println(-1);
		else
			System.out.println(sum+"\n"+min);
	}
}

 

728x90
728x90

'Algorithm > Baekjoon' 카테고리의 다른 글

Baekjoon 5585 거스름돈 JAVA  (0) 2022.07.07
Baekjoon 2230 수 고르기 JAVA  (0) 2022.07.07
Baekjoon 11724 연결 요소의 개수 JAVA  (0) 2022.07.07
Baekjoon 1057 토너먼트 JAVA  (0) 2022.06.21
Baekjoon 16472 고냥이 JAVA  (0) 2022.06.21

댓글