728x90
#include<stdio.h>
#include<string.h>
void reverse(char* arr)
{
int len = strlen(arr);
for (int i = 0; i < len / 2; i++)
{
char tmp = arr[i];
arr[i] = arr[len - i - 1];
arr[len - i - 1] = tmp;
}
}
int main()
{
char arr1[100003] = { 0 };
char arr2[100003] = { 0 };
char result[100003] = { 0 };
scanf("%s %s", arr1, arr2);
int i = 0;
int arr1_size = strlen(arr1);
int arr2_size = strlen(arr2);
int size = arr1_size;
int check = 0;
if (arr1_size < arr2_size)
size = arr2_size;
reverse(arr1);
reverse(arr2);
for (int i = 0; i < size; i++)
{
if (arr1[i] == 0)
arr1[i] = '0';
if (arr2[i] == 0)
arr2[i] = '0';
result[i] += arr1[i] + arr2[i] - '0';
if (result[i] - '0' >= 10)
{
result[i] += -10;
result[i + 1]++;
}
}
if (result[size] == 1)
result[size] = '1';
reverse(result);
printf("%s", result);
}
이문제는 처음에 참 뻘짓을 많이 했는데 나중에 리버스를 사용하는 아이디어를 쓴 이후에는 나름 쉽게 풀렸다. 자릿수가 다른경우 처리하는 아이디어 역시 뭔가 풀었는데 제대로 이해를 못한 기분이다...
이 글은 코딩 꼬꼬마 시절에 푼 문제를 보관한 글로 네이버에 저장해둔 글을 옮긴 글입니다.
혹시나 참고하시는 부분에 이상한 부분이나 질문이 생긴다면 남겨주시면 친절히 답변 드리겠습니다.
728x90
'알고리즘 기초시절' 카테고리의 다른 글
백준 (C언어)백준 2869번 달팽이 (시간복잡도 문제) (0) | 2023.01.04 |
---|---|
백준 (C언어)백준 2775번 부녀회장문제 재귀 아닌 배열문제 (0) | 2023.01.04 |
백준 (C언어)백준 1002번 터렛 원의 내접 외접 조건문제 (0) | 2023.01.04 |
백준 (C언어)그리디 알고리즘 단어수학 백준1339번 (0) | 2023.01.04 |
백준 (C언어)백준 1331번 구현 알고리즘 시뮬레이션(나이트) (0) | 2023.01.04 |