CodeKata/Programmers

[CK] 연습문제 > 문자열을 정수로 바꾸기

anothel 2021. 11. 29.

문제 설명

문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.

제한 조건
  • s의 길이는 1 이상 5이하입니다.
  • s의 맨앞에는 부호(+, -)가 올 수 있습니다.
  • s는 부호와 숫자로만 이루어져있습니다.
  • s는 "0"으로 시작하지 않습니다.
입출력 예

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

 

Solution

#include <string>
#include <vector>

using namespace std;

int solution(string s) {
  int plus = 1;
  if (s.at(0) == '-') {
    s.erase(s.begin());
    plus *= -1;
  }

  return stoi(s) * plus;
}

 

남의 코드

#include <string>
#include <vector>

using namespace std;

int solution(string s) {
    int answer = stoi(s);
    return answer;
}

  

후기

음? 상당히 간단한 문제이고 간략한 풀이를 했다고 생각한다. 그런데 더 간단한 풀이가 있었네? 부호도 없애준다니

 

(url: https://programmers.co.kr/learn/courses/30/lessons/12925)

 

댓글