https://www.acmicpc.net/problem/10757
- 아무 생각 없이 long long (int)로 제출 했다가 당연히 안됨!.
- 하나의 자료형에 담을 수 없는 큰 수 들의 입력, 출력은 더더욱 더!
- 문자열을 이용하자!
- 이런 생각 후의 단계는 단순 했습니다.
- 1단계 : 자릿수 맞추기
3200 + 10 을 그냥 문자열에 넣고 계산하면
3 2 0 0
+ 1 0
이 되므로 원하는 결과가 안나온다.
자릿수를 맞춰 앞쪽에 0을 넣어 0 0 1 0 을 만들어주자.
- 2단계 : 더한후 carry값을 계산하자!
- 두 단계만 생각하면 간단했습니다.
/수정/
생각해 봤는데 오류가 있는데 이게 결과를 int배열로 잡아서
출력에는 이상이 없지만 result[0]은 carry 처리가 제대로 되지 않습니다.
즉 이 문제에서는 상관없이 결과는 잘 나오지만 다른 i번째의 출력과 일관성이 없는거 같습니다.
잘 못 짠듯...... 뒤집어서 다 계산하고 캐리까지 계산하고 마지막에 뒤집을까....
'학부생 공부 > 연습문제(백준)' 카테고리의 다른 글
백준 1654 (0) | 2019.12.29 |
---|---|
백준 10818 (0) | 2019.12.25 |
백준 10989 수정렬하기3 (0) | 2019.11.16 |
백준 10773 제로 (0) | 2019.11.16 |
백준 1874 스택수열 (0) | 2019.11.14 |