2729번 - 이진수 덧셈
BOJ 문제를 풀어보면서 BigInt 같은 걸 고민해본적이 있어
이진수의 덧셈은 간단하게 통과할 거라고 생각했는데
생각보다 제대로 되지 않습니다.
문자열을 뒤집는 strrev는 ANSI C 표준 함수가 아니라는 경고를 보고 mystrrev는 따로 구현했습니다.
수를 뒤집어 1의 자리부터 마지막 자리까지 계산하는 프로그램인데
어떤 부분에서 에러가 날까요? 주어진 입력도, 테스트한 몇 가지 결과도 정상적으로 나옵니다.
0 0: 0
0 1: 1
1 0: 1
1 1: 10
10 1: 11
1 10: 11
11 11: 110
10110 1001: 11111
1001 111: 10000
10101 1111: 100100
문제를 풀어보지는 않고, 코드와 문제만 보고 추론중에 다음과 같은 가능성을 제시해 봅니다.
입력이 "000 000" 이런식으로 불필요한 0 이 포함된채로 입력될 수 있지 않을까요?
아.. 그 부분이 문제였네요. 답변 감사합니다.
댓글을 작성하려면 로그인해야 합니다.
hdnua 9년 전
BOJ 문제를 풀어보면서 BigInt 같은 걸 고민해본적이 있어
이진수의 덧셈은 간단하게 통과할 거라고 생각했는데
생각보다 제대로 되지 않습니다.
문자열을 뒤집는 strrev는 ANSI C 표준 함수가 아니라는 경고를 보고 mystrrev는 따로 구현했습니다.
수를 뒤집어 1의 자리부터 마지막 자리까지 계산하는 프로그램인데
어떤 부분에서 에러가 날까요? 주어진 입력도, 테스트한 몇 가지 결과도 정상적으로 나옵니다.
0 0: 0
0 1: 1
1 0: 1
1 1: 10
10 1: 11
1 10: 11
11 11: 110
10110 1001: 11111
1001 111: 10000
10101 1111: 100100