a

[알고리즘] 8658. Summation

박은성/ 2022. 3. 9. 09:36
반응형
https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=3&contestProbId=AW1lwyh6WPwDFARC&categoryId=AW1lwyh6WPwDFARC&categoryType=CODE&problemTitle=&orderBy=PASS_RATE&selectCodeLang=CCPP&select-1=3&pageSize=10&pageIndex=2

SW Expert Academy 8658. Summation


풀이 방법

각 자리수의 덧셈을 sum[i]에 담는다.


#include <stdio.h>
int main(void)
{
	int test_case;
	int T; int num = 0;
    int remain =1, divisor =1; 
    int sum[10] ={0,};
    
	scanf("%d", &T);
	for (test_case = 1; test_case <= T; ++test_case)
	{
		for(int i =0;i<10; i++){
        	scanf("%d", &num); 
             	if(num / (divisor*1000000) > 0){
                    sum[i] += (num/ (divisor*1000000));
                    num = num% (divisor*1000000);}
                if(num/ (divisor*100000) > 0){
                    sum[i] += (num/ (divisor*100000));
                    num = num% (divisor*100000);
                }
                 if(num/ (divisor*10000) > 0){
                    sum[i] += (num/ (divisor*10000));
                    num = num% (divisor*10000);
                }
                 if(num/ (divisor*1000) > 0){
                    sum[i] += (num/ (divisor*1000));
                    num = num% (divisor*1000);
                }
                if(num/ (divisor*100) > 0){
                    sum[i] += (num/ (divisor*100));
                    num = num% (divisor*100);
                }
                if(num/ (divisor*10) > 0){
                    //printf("%d\t%d\t%d\n", test_case, i, sum[i]);
                    sum[i] += (num/ (divisor*10));
                    num = num% (divisor*10);
                }
                 if(num/ (divisor*1) > 0){
                    sum[i] += (num/ (divisor*1));
                    num = num% (divisor*1);
                }
        }
        //for(int i=0;i<10; i++) printf("%d\t",sum[i]);
        int max =sum[0]; int min =sum[0];
        for(int i =0; i<10; i++){
         	max = max> sum[i] ? max :sum[i];
            min = min< sum[i] ? min: sum[i];   
        }
        printf("#%d %d %d\n", test_case, max, min);
		for(int i = 0; i<10; i++) sum[i] = 0;
	}
	return 0; 
}
반응형