[C++] stoi out_of_range문제

HyunDong Lee·2021년 10월 21일
0

C++

목록 보기
5/6
post-thumbnail

문제

Given a signed 32-bit integer x, return x with its digits reversed. If reversing x causes the value to go outside the signed 32-bit integer range [-231, 231 - 1], then return 0.

Assume the environment does not allow you to store 64-bit integers (signed or unsigned).
[출처]https://leetcode.com/problems/reverse-integer/

문제를 c++로 풀다가 마주한 문제이다. 정수형 자료형은 4byte로 사용할 수 있는 범위가 -2^32에서 2^32-1까지 이다. 하지만 본 문제에서 숫자의 길이가 최대 64bit로 들어올 수 있고 예외 처리를 해주지 않으면 문제를 풀 수 없었다. 이를 해결하기 위해서 long long 자료형을 이용하여 모든 자릿수를 나머지 계산을 통해서 뒤집어서 넣어줄 수 있다.

stoi

int 자료형의 범위 만큼 들어올 수 있기때문에 out_of_range 예외가 처리된 것 같다.

0개의 댓글