자릿수의 합

코딩테스트 2024. 9. 17. 14:34


#include <stdio.h>
#include <string.h>
#include <stdlib.h>
using namespace std;
#define _CRT_SECURE_NO_WARNINGS

int digit_sum(int x) {
    int tmp, sum = 0;
    while(x > 0) {
        tmp = x % 10;
        sum += tmp;
        x = x /10;
    }
    return sum;
    
}

int main() {
    int n, num, i, sum, max = -214700000, res;
    scanf("%d", &n);
    
    for(i=0; i<n; i++) {
        scanf("%d", &num);
        sum = digit_sum(num);
        if( sum > max) {
            max = sum;
            res = num;   // 자릿 수의 합이 최대인 숫자가 여러개 일 수 있음
        }
        else if(sum == max) {
        if(num > res) res=num;
        }
    
    }
    printf("%d\n", res);
  
    return 0;
}

 

 

블로그 이미지

wtdsoul

,

 


#include <stdio.h>
#include <string.h>
#include <stdlib.h>
using namespace std;
#define _CRT_SECURE_NO_WARNINGS

int cnt[50001];

int main() {
    
    //freopen("input.txt", "rt", stdin);
    int n, i, j;
    scanf("%d",&n);
    
    for(i=1; i<=n; i++) {
        for(j=1; j<=n; j=j+i) {
            cnt[j]++;
        }
    }
  
    for(i=1; i<=n; i++) {
        printf("%d ", cnt[i]);
    }
  
    return 0;
}

블로그 이미지

wtdsoul

,

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
using namespace std;
#define _CRT_SECURE_NO_WARNINGS

int main() {
    
    //freopen("input.txt", "rt", stdin);
    char a[100];
    int i, cnt = 0;
    
    scanf("%s", &a);
    for(i=0; a[i]!= '\0'; i++) {
        if(a[i] == '(' ) cnt++;
        else if(a[i] == ')' ) cnt--;
        if(cnt < 0) break;
        
    }
    
    if(cnt == 0) printf("YES\n");
    else printf("NO\n");
    
    
    return 0;
}

 

 

블로그 이미지

wtdsoul

,


#include <stdio.h>
#include <string.h>
#include <stdlib.h>
using namespace std;
#define _CRT_SECURE_NO_WARNINGS

int main() {
    
    //freopen("input.txt", "rt", stdin);
    char a[101], b[101];
    int i, p = 0;
    
    gets(a); 
    for(i= 0; a[i]!='\0'; i++) {
        if(a[i] != ' ') {
            if(a[i] >= 65 && a[i] <= 90) {
                b[p++] = a[i]+32;
            }
            else b[p++] = a[i];
        }
    
    }
    b[p] = '\0';
    printf("%s\n", b);
    
    return 0;
}


 

 

'코딩테스트' 카테고리의 다른 글

모두의 약수 (제한시간 1초)  (0) 2024.09.17
올바른 괄호 (문자열 컨트롤)  (0) 2024.09.17
숫자만 추출 (문자열 컨트롤)  (0) 2024.09.17
나이 계산 (문자열 컨트롤)  (0) 2024.09.17
나이 차이 계산  (0) 2024.09.16
블로그 이미지

wtdsoul

,

#include <stdio.h>
#include <string.h>
using namespace std;

int main() {
    
    //freopen("input.txt", "rt", stdin);
    char a[100];
    int res = 0, cnt = 0, i;
    
    scanf("%s", &a);
    for(i=0; a[i] != '\0'; i++) {
        if(a[i] >= 48 && a[i]<= 57)
            res = res * 10+(a[i]-48);
    }
    
    printf("%d\n", res);
    for(i=1; i<= res; i++) {
        if(res % i == 0) cnt++;
    }

    printf("%d\n", cnt);
    
    
    return 0;
}

 

블로그 이미지

wtdsoul

,


#include <stdio.h>
#include <string.h>

int main() {
    
    //freopen("input.txt", "rt", stdin);
    char a[20];
    int year, age;
    
    scanf("%s",&a);
    if(a[7] == '1' || a[7] == '2') year=1900 + ((a[0]-48)*10+(a[1]-48))  // char 48 빼기 
    else year = 2000 + ((a[0]-48) * 10 + (a[1]-48));
    
    age = 2019 - year + 1;
    printf("%d ", age);
    if(a[7] == '1' || a[7] == '3') printf("M\n");
    else pritnf("W\n");
    

    return 0;
}

블로그 이미지

wtdsoul

,