가운데 글자를 가져오는 거다. 짝수면 두 글자를 가지고 온다.
짝수와 홀수일 때를 구분했다. 홀수이면 나누기 2한 값의 위치를 가지고 오면 되고 짝수면 -1과 나누기 2한 값을 가져오면 된다.
#include <string>
#include <vector>
using namespace std;
string solution(string s) {
string answer = "";
return s.size()%2
if(s.size() % 2 != 0){
answer.push_back(s[s.size()/2]);
}else{
answer.push_back(s[s.size()/2-1]);
answer.push_back(s[s.size()/2]);
}
return answer;
}
다른 사람들의 풀이를 보니 substr()이라는 함수를 썼더라. substr()은 문자열의 일부를 리턴하는 함수라고 한다. 문자열의 pos부터 count까지의 문자열을 리턴하는 방식이다.
a.substr(5, 3)이라 했을 때 문자열을 5번째부터 5+8까지 리턴하는 방식이다.
s.substr(s.size()/2-1,2)라고 하면, 나누기 2한 값의 앞부터 총 두 개를 반환한다는 말이다.
홀수라면
s,substr(s.size()/2, 1) 하나만 리턴한다고 하면 된다.