Post

[프로그래머스] 문자열을 정수로 바꾸기 / C++

문제


문제를 보시려면 링크를 클릭해주세요.


풀이


pow 함수를 사용하여 숫자를 계산하였고, 조건 연산자를 이용하여 부호 체크를 해줬습니다.

문자열 맨 앞에 부호가 올 경우 체크만 하고 계산은 건너뛰고,

반복문을 탈출한 후, 체크 결과가 음수일 때 -1을 곱해주었습니다.


문자열을 정수로 바꿔주는 stoi 함수를 사용하면 더 간단하게 풀 수 있습니다.


소스 코드


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <string>
#include <cmath>

using namespace std;

int solution(string s) {
    int answer = 0;
    bool chk; // 부호 체크
    
    for(int i=0; i<s.size(); i++){
        
        if(s[i]=='-' || s[i]=='+'){
            (s[i] == '-') ? chk=true : chk=false;
            continue;
        }
        
        answer += pow(10,s.size()-i-1) * (s[i]-'0');
    }
    
    if(chk)
        answer*=-1;
    
    return answer;
}



This post is licensed under CC BY 4.0 by the author.

Comments powered by Disqus.