본문 바로가기

C언어 백준 문제 풀이

백준 10757번 큰 수 A+B

728x90

10757번: 큰 수 A+B (acmicpc.net)

 

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

 

728x90