10757번 - 큰 수 A+B
당분간 모든 오타 수정 요청을 올리지 말아주세요 라는 공지가 있지만 저와 같은 고민을 하셨을 다른 분들을 위해 질문 카테고리에 작성합니다.
배열의 입력 값이 10¹⁰⁰⁰⁰ 이라 이상해서 오랜 시간 고민하다다른 분들이 문제를 풀 때 사용한 값은 10,000 이라는 것을 알았습니다.
10,000은 10의 4제곱으로 10⁴ 이 맞지만 10¹⁰⁰⁰⁰으로 잘못 표기된 것 같습니다.
이해한 거 다시 정리합니다.
첫째 줄에 A와 B가 주어진다. (0 < A,B < 1010000)
9223372036854775807 9223372036854775808 ................... 1234567890123456789 -> 19자리
예시의 입력 값은 1019 으로 19자리의 숫자를 입력 받기 위해 arr[19 + 1]가 필요합니다. 주어진 입력 값은 1010000으로 10000자리의 숫자를 입력 받기 위해 arr[10000 + 1]가 필요합니다.
ex) 102의 범위는 0 < A, B < 100 으로 1 ~ 99 사이의 숫자가 입력되므로 arr[2]가 필요합니다.두 수를 더하게 되면 99 + 99 = 198 으로 최대 3자리의 숫자가 되므로 최종적으로 arr[3]의 공간이 필요합니다.
오타 아닙니다
예제에 나와있는 수부터 이미 104보다 훨씬 큽니다.
10,000을 사용하는 이유는 1010000이 10,001자리 수이기 때문입니다.
아 그렇네요 밤 늦게 풀다가 어설프게 이해하고 넘어간 것 같습니다. 문자열로 계산한다고 생각하면서 왜 입력 값은 숫자로 착각했는지 모르겠네요.
착각한 건 부끄럽지만 덕분에 제대로 이해하고 갑니다.
감사합니다.
저도 이런 고민을 했는데 해결되었네요 감사합니다 ㅋㅋㅋ
댓글을 작성하려면 로그인해야 합니다.
iijung 2년 전 1
당분간 모든 오타 수정 요청을 올리지 말아주세요 라는 공지가 있지만저와 같은 고민을 하셨을 다른 분들을 위해 질문 카테고리에 작성합니다.
배열의 입력 값이 10¹⁰⁰⁰⁰ 이라 이상해서 오랜 시간 고민하다다른 분들이 문제를 풀 때 사용한 값은 10,000 이라는 것을 알았습니다.
10,000은 10의 4제곱으로 10⁴ 이 맞지만 10¹⁰⁰⁰⁰으로 잘못 표기된 것 같습니다.이해한 거 다시 정리합니다.
첫째 줄에 A와 B가 주어진다. (0 < A,B < 1010000)
예시의 입력 값은 1019 으로 19자리의 숫자를 입력 받기 위해 arr[19 + 1]가 필요합니다.
주어진 입력 값은 1010000으로 10000자리의 숫자를 입력 받기 위해 arr[10000 + 1]가 필요합니다.
ex) 102의 범위는 0 < A, B < 100 으로 1 ~ 99 사이의 숫자가 입력되므로 arr[2]가 필요합니다.
두 수를 더하게 되면 99 + 99 = 198 으로 최대 3자리의 숫자가 되므로 최종적으로 arr[3]의 공간이 필요합니다.