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

YH·2023년 12월 10일
0

문제

문자열을 정수로 바꾸기 : 문제 링크


문제 분석

  • 문자열 s를 숫자로 변환한 결과를 반환하는 함수 solution을 완성
  • 제한조건
    • s의 길이는 1 이상 5이하이다.
    • s의 맨앞에는 부호(+,-)가 올 수 있다.
    • s는 부호와 숫자로만 이루어져있다.
    • s는 "0"으로 시작하지 않는다.
  • 변환한 결과를 저장할 정수형 변수 answer과 음수인지 확인하기 위한 정수형 변수 check를 각각 0으로 초기화. if문을 통해 부호가 '-'인지 확인하고, 그렇다면 check를 1로 저장하고 answer에 부호를 제외한 문자열을 정수화하여 저장. else if문을 통해 부호가 '+'인지 확인하고, 그렇다면 마찬가지로 answer에 부호를 제외한 문자열을 정수화하여 저장. 부호가 없다면 문자열을 그대로 정수화하여 answer에 저장. 마지막으로 check가 1인지 확인하고 1이라면 음수이므로 answer에 -1를 곱하여 저장하고, 최종적으로 저장된 answer을 return

substr() 함수 사용법
1. substr(시작인덱스, 문자열 길이)
=> 시작인덱스 부터 주어진 문자열 길이만큼 추출
2. substr(시작인덱스)
=> 시작인덱스 부터 문자열 끝까지 추출


풀이

#include <string>

using namespace std;

int solution(string s) {
    int answer = 0, check = 0;
    
    if(s[0] == '-') {
        check = 1;
        answer = stoi(s.substr(1));
    }
    else if(s[0] == '+') answer = stoi(s.substr(1));
    else answer = stoi(s);
    if(check == 1) answer *= -1;
    return answer;
}
profile
Keep Recycling Your Dreams

0개의 댓글