본문 바로가기
백준(Baekjoon)

[백준] 2576번: 홀수 - 자바

by IT 정복가 2022. 4. 29.
728x90

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

 

2576번: 홀수

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

www.acmicpc.net


[문제]


[코드]

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int num[] = new int[7];
		int sum = 0;
		int min = 100;
		
		for(int i = 0; i < num.length; i++) {
			num[i] = sc.nextInt();
			if(num[i]%2 == 1) { 
				sum += num[i];
				
				if(num[i] < min)
					min = num[i];
			}
		}
		
		if(sum == 0)
			System.out.println(-1);
		else { 
			System.out.println(sum);
			System.out.println(min);		
		}
		sc.close();
	}
}

[설명]

1. 7개의 수를 받기위해 배열을 선언한다.

2. 합을 위해 sum 변수를 선언해주는 동시에 0으로 초기화한다.

3. 수들이 100보다 작은 수이기 때문에 최솟값을 min 변수를 선언해주는 동시에 100으로 선언해 준다.

4. for문을 돌려 0번~6번까지의 배열에 각각 수를 입력받는다.

5. 홀수일때만 수를 더하기 위해 if문을 돌려 홀수들을 sum에 넣어 계속해서 넣어준다.

6. 그리고 그 안에 홀수들을 min과 비교해서 min보다 작으면 min에 그 홀수를 넣어준다.

7. for문을 빠져나와 sum이 0이라면 (=홀수가 없다면) sum에 -1을 넣어준다.

8. sum이 0이 아니라면 sum과 min을 출력해 준다.


[결과]

 

728x90