2023.01.08 Baekjoon10757

조진호·2023년 1월 8일
0

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

코드 #1

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

char reverse(char * array);

int main(void) {
    char a[10001];
    char b[10001];
    char result[10002];
    int sum = 0;

    scanf("%s %s", a, b);
    
    reverse(a);
    reverse(b);

    for(int i=0; i<10001; i++) {
        sum = a[i] + b[i];
        result[i] += sum%10;
        if(sum > 9){
            result[i+1]++;
        }
        sum = 0;
    }

    reverse(result);

    for(int i=0; i<10002; i++) {
        printf("%c", result[i]);
    }
}

char reverse(char * array) {
	int length = (int)strlen(array);
    char temp;
    for(int i=0; i<length/2; i++) {
        temp = array[i];
        array[i] = array[length-i-1];
        array[length-i-1] = temp;
    }
    return array;
}

코드 #2

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

char reverse(char * array);

int main(void) {
    char a[10002] = {0,};
    char b[10002] = {0,};
    char result[10003] = {0,};
    int sum = 0;

    scanf("%s %s", a, b);
    
    reverse(a);
    reverse(b);

    for(int i=0; i<10002; i++) {
        sum = (a[i] - '0') + (b[i] - '0');
        result[i] += (sum%10 + '0');
        if(result[i] > '9'){
            result[i+1] += 1;
        }
        sum = 0;
    }

    reverse(result);

    for(int i=0; i<10003; i++) {
        printf("%c", result[i]);
    }
}

char reverse(char * array) {
	int length = (int)strlen(array);
    char temp;
    for(int i=0; i<length/2; i++) {
        temp = array[i];
        array[i] = array[length-i-1];
        array[length-i-1] = temp;
    }
    return array;
}

코드 #3

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

char reverse(char * array);

int main(void) {
    char a[10002] = {0,};
    char b[10002] = {0,};
    char result[10003] = {0,};
    int length;
    int carry = 0;

    scanf("%s %s", a, b);
    
    reverse(a);
    reverse(b);

    if(strlen(a) > strlen(b)) {
        length = strlen(a);
    } else {
        length = strlen(b);
    }

    for(int i=0; i<length; i++) {
        int sum = (a[i] - '0') + (b[i] - '0') + carry;
        while(sum < 0) {
            sum += '0';
        }
        if(sum > 9){
            carry = 1;
        } else {
            carry = 0;
        }
        result[i] = sum % 10 + '0';
    }

    if(carry == 1) {
    result[length] = '1';
    }

    reverse(result);

    printf("%s", result);
}

char reverse(char * array) {
	int length = (int)strlen(array);
    char temp;
    for(int i=0; i<length/2; i++) {
        temp = array[i];
        array[i] = array[length-i-1];
        array[length-i-1] = temp;
    }
    return array;
}
profile
코린이

0개의 댓글

관련 채용 정보