[프로그래머스] 문자열을 정수로 바꾸기 / 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.