문제 설명
문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.
제한 조건
- s의 길이는 1 이상 5이하입니다.
- s의 맨앞에는 부호(+, -)가 올 수 있습니다.
- s는 부호와 숫자로만 이루어져 있습니다.
- s는 "0"으로 시작하지 않습니다.
문제 유형
- 문자열을 숫자로 변환
의사코드
- 숫자를 저장할 변수(sum)을 선언한다.
- 부호를 저장할 변수(sign)를 선언한다.
- String을 char 배열로 변환한다.
- char 배열의 첫번째 인덱스에서 부호를 확인한다.
- 부호가 '-'이면 sign에 -1을 저장한다.
- [반복문] char 배열의 null값을 만날 때까지 반복한다.
- sum 값에 10을 곱한다.
- sum 에 현재 char 배열의 일의 자리에 숫자를 저장한다.
- char 배열을 한칸 전진한다.
- sum 값에 부호(sign)값을 곱하여 결과값을 반한환다.
코드 작성
int solution(string str) {
int sum = 0;
int sign = 1;
const char* arr = str.c_str();
if (arr[0] == '+')
{
arr++;
}
if (arr[0] == '-')
{
arr++;
sign = -1;
}
while (*arr)
{
sum *= 10;
sum += *arr - '0';
arr++;
}
return sum * sign;
}'Algorithm > Practice' 카테고리의 다른 글
| [Algorithm] 정수 내림차순으로 배치하기 (0) | 2024.12.11 |
|---|---|
| [Algorithm] 정수 제곱근 판별 (1) | 2024.12.10 |
| [Algorithm] 자연수 뒤집어 배열로 만들기 (0) | 2024.12.10 |
| [Algorithm] x만큼 간격이 있는 n개의 숫자 (1) | 2024.12.09 |
| [Algorithm] 나머지가 1이 되는 수 찾기 (0) | 2024.12.09 |