내가 생각한 방법은 Substring을 사용하는 것이었다. 원래는 index 위치로 가져오는 방법이 없나 찾아봤는데, char 하나 가져오는 것은 가능했지만 2개 이상을 가져오는 방법이 마땅치 않아 Substring을 사용하게 되었다.
public class Solution {
public string solution(string s) {
string answer = "";
int halfLength = s.Length / 2;
if(s.Length % 2 == 0)
answer = s.Substring(halfLength - 1, 2);
else
answer = s[halfLength].ToString();
return answer;
}
}
그런데 Substring 사용하면서 유의해야 할 점이 있다. 바로 Substring에 인자를 2개 사용할 때, 첫 번째는 시작 위치이고, 두 번째는 해당 위치에서부터 가져올 string의 길이를 의미한다. 즉, 위의 코드에서 answer = s.Substring(halfLength - 1, 2);
은 halfLength - 1에서부터 길이 2만큼 반환해주는 것을 의미한다.
처음에는 시작 위치, 끝 위치인줄 알고 사용했다가 에러가 발생했기 때문에 이를 기억하고 있으면 좋을 것 같다.