반응형
https://www.acmicpc.net/problem/10757
● 배열을 이용하여 풀 것이기 때문에 수를 입력받을 배열 선언하기
● 배열을 뒤집을 함수 reverse함수 구현해주기
● 뒤집어진 두배열을 더한 뒤 다시 뒤집으면 합이나옴
#include<stdio.h>
#include<stdlib.h>
void reverse(char arr[]) {
int len = strlen(arr); //배열의 개수 리턴
char temp;
for (int i = 0; i < len / 2; i++) { //len/2까지만 바꿔치기하면 뒤에도 바껴져있음
temp = arr[i];
arr[i] = arr[len - i - 1];
arr[len - i - 1] = temp; //교환해서 거꾸로 바꿈
}
}
int main() {
char n1[10002];
char n2[10002];
char n3[10002] = { 0 };
scanf("%s %s", &n1, &n2);
reverse(n1);
reverse(n2);
int sum = 0;
int halfup=0;
int len1 = strlen(n1);
int len2 = strlen(n2);
int max = 0;
//배열의 크키가 더 큰 것을 max에 strlen으로 저장해줌
if (len1 > len2)
max = len1;
else
max = len2;
for (int i = 0; i < max; i++) {
sum = n1[i] - '0' + n2[i] - '0'+halfup;
if (sum < 0) {
sum += '0';
}
if (sum >= 10) {
halfup = 1;
}
else {
halfup = 0;
}
n3[i] = sum % 10 + '0'; //10보다 작은수를 나누면 본인이 나오고 높다면 반올림이 1이되고 1의자리 숫자나옴
}
if (halfup == 1)
n3[max] = '1';
reverse(n3);
printf("%s", n3);
}
파이썬 풀이..
반응형
'백준' 카테고리의 다른 글
백준 2581번[c언어] : 소수 (0) | 2022.03.20 |
---|---|
백준 1978번[c언어] : 소수 찾기 (0) | 2022.03.20 |
백준 2839번[c언어][c++] : 설탕배달 (0) | 2022.03.15 |
백준 10250번[C언어] : ACM호텔 (0) | 2022.03.09 |
백준 1712번[C언어] : 손익분기점 (0) | 2022.03.07 |
댓글