#12903 가운데 글자 가져오기
문제 정리
홀수일 땐 가운데 글자, 짝수라면 가운데 두 글자 반환
생각해보기
n이 만약 10이면 5,6을,
n이 만약 9면 5를 반환해야 한다.
s의 size가 짝수면 n/2, n/2+1을,
s의 size가 홀수면 n/2+1 반환
코드 쓰기
근데 string idx가 0부터 시작이니까!!! 여기서 헷갈리면 안 됨.
n이 만약 10이면 index는 0~9고,
0 1 2 3 4 5 6 7 8 9 니까 4, 5번째를 반환해야 함 -> size/2 -1, size/2
n이 만약 5면 index는 0~4고,
0 1 2 3 4 니까 size / 2 반환
내 풀이
#include <string>
#include <vector>
#include <iostream>
using namespace std;
string solution(string s) {
string answer = "";
if(s.size() % 2 == 0) {
answer += s[s.size() / 2 - 1];
answer += s[s.size() / 2];
} else {
answer += s[s.size() / 2];
}
return answer;
}
풀고 나서 알게된 것
두개 뽑을 땐
return s.substr(len/2-1,2);
서브스트링으로 해도~~ 시작점이랑 몇개인지인듯