10757번: 큰 수 A+B
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
www.acmicpc.net
문제 요약: 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하라. (0 <A, B <10^10000)
문제 풀이: 이 문제는 애초에 입력 값과 출력 값의 범위가 너무 커서, 문자열을 이용해서 해결해야 한다. 문자열에 값을 입력하고 역순으로 ( 가장 낮은 자릿수 ) 각 배열의 인덱스를 아스키코드를 이용하여 정수로 변환한다. 변환된 A배열 인덱스와 B배열 인덱스의 합을 구하고 사전에 만들어 놓은 문자열 AB배열에 아스키코드를 이용하여 이번에는 문자열로 변환하여 저장한다. 이 과정을 A배열과 B배열 중 크기가 큰 배열의 SIZE-1만큼 반복한다. 이 문제를 풀면서 분명히 문제의 출력 값이 제대로 나오고, 반례도 없었지만 자꾸 디버깅 결과가 틀렸다고 나왔다. 1시간을 고민했고, 알아냈다.
만약 A와 B의 값이 달라서 자릿수에서 차이가 나면 AB [0]에 NULL이 들어갈 수밖에 없는 프로그램이었는데, 출력을 0부터 했기 때문에 틀린 것이다. 물론, 출력할 때 값은 제대로 나오지만, 프로그램은 NULL까지 출력됐기 때문에, 틀렸다고 받아들인 것이다. 사소한 부분이지만, 나는 이런 사소한 부분들이 더 안 보이는 것 같다. 모든 게 그렇듯, 사소한 차이가 나중에는 정말 큰 차이로 나타난다는 사실을 알기에, 조금 더 신경 쓰면서 코딩을 해야겠다.
http://colorscripter.com/s/mBGfAEn
공유된 코드 - Color Scripter
저작권자 : inryureal@tistory.com 삭제 요청 코드 설명 : C언어 백준 10757번 큰 수 A+B
colorscripter.com
'C언어 백준 문제 풀이' 카테고리의 다른 글
백준 9020번 골드바흐의 추측 (0) | 2021.11.14 |
---|---|
백준 1011번 Fly me to the ALpha Centauri (0) | 2021.11.06 |
백준 2839번 설탕 배달 (0) | 2021.11.02 |
백준 2775번 부녀회장이 될테야 (0) | 2021.11.01 |
백준 10250번 ACM 호텔 (0) | 2021.11.01 |