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

 

10757번: 큰 수 A+B

첫째 줄에 A와 B가 주어진다. (0 < A,B < 1010000)

www.acmicpc.net

- 아무 생각 없이 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

+ Recent posts