C#으로 풀기 - 가운데 글자 가져오기

Amberjack·2024년 2월 23일
0

Codekata

목록 보기
11/16

문제 풀이...

내가 생각한 방법은 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만큼 반환해주는 것을 의미한다.

처음에는 시작 위치, 끝 위치인줄 알고 사용했다가 에러가 발생했기 때문에 이를 기억하고 있으면 좋을 것 같다.

0개의 댓글