SWEA(SWExpertacAdemy)

[SWEA] 8658. Summation (자바)

심층코드 2025. 5. 12. 14:42

8658. Summation D3

의석이는 종강 기념 피자 파티를 열기 위해서 피자를 사러 왔다.

하지만 피자 가게 주인 동욱이는 피자를 순순히 판매하지 않는 사람이다.

돈 보다 문제 내는 것을 더 좋아하는 이상한 동욱이는 피자를 사러 온 의석이에게 3개의 시련을 부여했고, 모두 통과해야만 거래를 시작한다.

첫 번째 관문에서는 10개의 자연수가 주어진다.

각 수마다 그 수의 각 자리 수를 다 더한 값을 계산해야 한다.

예를 들어서 주어진 수 중에 1203이 있다면 이 수의 각 자리 수를 모두 더하면 1 + 2 + 0 + 3 = 6이 된다.

의석이는 동욱이에게 받은 10개의 숫자들 중, 위와 같이 변환했을 때의 최대, 최소값을 대답해야만 한다.

의석이를 도와서 관문 1의 정답을 구하는 프로그램을 작성하라.


[입력]

첫 번째 줄에 테스트 케이스의 수 T가 주어진다.

각 테스트 케이스의 첫 번째 줄에는 자연수 10개가 공백으로 구분되어 주어진다.

모든 자연수는 1이상 1,000,000이하이다.


[출력]

각 테스트 케이스마다 ‘#x’(x는 테스트케이스 번호를 의미하며 1부터 시작한다)를 출력하고,

각 테스트 케이스마다 주어진 10개의 숫자들 각각을 위와 같이 변환했을 때에 구해지는 최대값과 최소값을 공백으로 구분하여 출력하라.

입력
2
182 371 29 49 28 21 928 11 5 1
13 400 3010 2011 1111 40 4 103 301 100111
// 테스트 케이스 개수
// 첫 번째 테스트 케이스
// 두 번째 테스트 케이스
 
출력
#1 19 1
#2 4 4
// 첫 번째 테스트 케이스 결과
// 두 번째 테스트 케이스 결과
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Solution {

	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int T = Integer.parseInt(br.readLine());
		for (int i = 1; i <= T; i++) {
            int maxVal = 0;
            int minVal = 0;
			String A[]=new String[10];
			StringTokenizer st = new StringTokenizer(br.readLine());
			for (int j = 0; j < 10; j++) {
				A[j] = st.nextToken();
			}
			int B[]=new int[10];
			for (int k = 0; k < 10; k++) {
				
				for(int l=0; l<A[k].length(); l++) {
					B[k]+=(int)(A[k].charAt(l))-48;
				}
			}
            maxVal = B[0];
            minVal = B[0];

            for (int m = 1; m < 10; m++) {
                if (B[m] > maxVal) {
                    maxVal = B[m];
                }
                if (B[m] < minVal) {
                    minVal = B[m];
                }
            }
            System.out.println("#"+i+" "+maxVal+" "+minVal);
		}

		br.close();
	}

}