1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | #include <stdio.h> #include <string.h> #include <math.h> int toMax(char* arr) { int len = strlen(arr) - 1, sum = 0; for (int i = len; i >= 0; i--) { if (arr[i] == '5') { sum += 6 * pow(10, len - i); } else { sum += ((int)arr[i] - 48) * pow(10, len - i); } } return sum; } int toMin(char* arr) { int len = strlen(arr) - 1, sum = 0; for (int i = len; i >= 0; i--) { if (arr[i] == '6') { sum += 5 * pow(10, len - i); } else { sum += ((int)arr[i] - 48) * pow(10, len - i); } } return sum; } char a[1000001] = { 0 }; char b[1000001] = { 0 }; int main() { scanf("%s %s", &a, &b); int maxA = toMax(a), minA = toMin(a); int maxB = toMax(b), minB = toMin(b); printf("%d %d", minA + minB, maxA + maxB); } | cs |
main 함수 내에서 지역변수 꼴로 배열을 선언할 경우, 선언이 가능한 배열의 크기에 제한이 생긴다
따라서, 전역변수 a와 b 로 선언을 해줬는데 잘 돌아갔다
'알고리즘 > 문자와 문자열' 카테고리의 다른 글
2902 KMP는 왜 KMP 일까? (0) | 2020.01.04 |
---|---|
10988 팰린드롬인지 확인하기 (0) | 2020.01.04 |
10987 모음의 갯수 (0) | 2020.01.04 |
1316 그룹 단어 체크 (0) | 2020.01.04 |
5622 다이얼 (0) | 2020.01.04 |