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

Amberjack·2024년 2월 23일
0

Codekata

목록 보기
11/16
post-custom-banner

문제 풀이...

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

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

post-custom-banner

0개의 댓글