2019년 4월 13일 토요일

# 입력받은 문자열을 숫자로 변환 ( 문자열에 +/- 부호 有 )

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/*
문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.
제한 조건

    s의 길이는 1 이상 10,000이하입니다.
    s의 맨앞에는 부호(+, -)가 올 수 있습니다.
    s는 부호와 숫자로만 이루어져있습니다.
    s는 "0"으로 시작하지 않습니다.

입출력 예

예를들어 str이 "1234"이면 1234를 반환하고, "-1234"이면 -1234를 반환하면 됩니다.
str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다.

*/

int solution(string s) {
    int numberSum = 0;
 int power = 0;
    int start = 0, last = s.size() - 1;
    bool isMinus = false;
    if(s[0] == '-'){
        start = 1;
        isMinus = true;
    }else if(s[0] == '+'){
         start = 1;
    }
 while (start <= last)
 {
  numberSum += (s[last] % 48) * pow(10, power);
  power++;
  last--;
 }
    
 if(isMinus) numberSum *= -1;
 return numberSum;
}

댓글 없음:

댓글 쓰기