본문 바로가기
알고리즘 문제풀이

[Backjoon] 3058번 문제 - 짝수를 찾아라

by 마스터누누 2017. 6. 14.
728x90
반응형

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

예를 들어, 7개의 자연수 13, 78, 39, 42, 54, 93, 86가 주어지면 이들 중 짝수는 78, 42, 54, 86이므로 그 합은 78 + 42 + 54 + 86 = 260 이 되고, 42 < 54 < 78 < 86 이므로 짝수들 중 최소값은 42가 된다.


풀이

값을 받아오는 즉시 짝수인지 확인하고 ArrayList에 저장하면서 합을 구한다.

모든 값을 다 받아 온후에 ArrayList를 정렬하고 합과 가장 첫번째 값을 불러온다


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
 
/**
 * Created by homr on 2017. 6. 14..
 */
public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int T = sc.nextInt();
 
        while(T!=0){
            ArrayList<Integer> evenList = new ArrayList<Integer>();
            int sum=0;
            for(int i = 0; i<7; i++){
                int num  = sc.nextInt();
                if(num%2==0){
                    sum+=num;
                    evenList.add(num);
                }
            }
 
            Collections.sort(evenList);
            System.out.println(sum+" " + evenList.get(0));
 
            T--;
        }
 
 
    }
}
cs


반응형

댓글