https://school.programmers.co.kr/learn/courses/30/lessons/12925
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
C++ 풀이 :
#include <string>
#include <vector>
using namespace std;
int solution(string s)
{
int answer = 0;
answer = stoi(s);
return answer;
}
stoi를 사용한다면 그냥 끝! 아주 간단하다. 하지만 stoi를 모른다면?
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string>
#include <vector>
#include <cmath>
// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
int solution(const char* _S)
{
std::string Str = _S;
std::vector<int> Num;
for (size_t i = 0; i < Str.size(); i++)
{
switch (Str.c_str()[i])
{
case '1':
Num.push_back(1);
break;
case '2':
Num.push_back(2);
break;
case '3':
Num.push_back(3);
break;
case '4':
Num.push_back(4);
break;
case '5':
Num.push_back(5);
break;
case '6':
Num.push_back(6);
break;
case '7':
Num.push_back(7);
break;
case '8':
Num.push_back(8);
break;
case '9':
Num.push_back(9);
break;
case '0':
Num.push_back(0);
break;
default:
break;
}
}
int Pownum = static_cast<int>(Num.size() - 1);
int answer = 0;
for (size_t i = 0; i < Num.size(); i++)
{
int a = static_cast<int>(pow(10, Pownum));
answer += Num[i] * a;
Pownum--;
}
if (Str.c_str()[0] == '-')
{
answer *= -1;
}
return answer;
}
그냥 미친하드코딩으로 뻘짓이 가능하다.
JS 풀이 :
function solution(s)
{
var answer = 0;
answer = parseInt(s);
return answer;
}
parseInt를 사용하여 해결!
아 풀던 문제 였네?