[C#]가운데 글자 가져오기

2020. 8. 3. 13:52[C#] 코딩테스트 문제풀이

반응형

프로그래머스 문제

 

문제 설명

단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.

재한사항

  • s는 길이가 1 이상, 100이하인 스트링입니다.

내 풀이

public class Solution {
    public string solution(string s) {
        string answer = "";
        char[] temp = s.ToCharArray();
        for(int i=0; i<temp.Length; i++)
        {
            if(temp.Length%2==0)
            {
                answer +=temp[temp.Length/2-1];
                answer+=temp[temp.Length/2];
                break;
            }
            else
            {
                answer+= temp[temp.Length/2];
                break;
            }
        }
        return answer;
    }
}

느낀점 : 간단하긴 했으나 함수를 사용하면 더 간단하게 풀 수 있을 것 같아서 다른사람의 풀이를 참고해보기로 하였다.

 

다른 사람 풀이

public class Solution {
    public string solution(string s) {
        int n = (s.Length+ 1)%2;
        int l = s.Length/2 - n;
        return s.Substring(l, n + 1);
    }
}

 

느낀점 : Char형 문자 배열로 바꿔서 풀지 않아도 string형 변수의 .Length를 사용해서 처리를하고 return할때도 Substring()을 통해 하니 간단하게 처리 할 수 있는 것 같다. 

반응형