[C#] 이상한 문자

2020. 7. 27. 19:57[C#] 코딩테스트 문제풀이

반응형

프로그래머스 문제

문제 설명

문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.

제한 사항

  • 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
  • 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.

내 풀이

public class Solution {
    public string solution(string s) {
        char[] temp = s.ToCharArray();
        int checker =0;
        for(int i=0; i<temp.Length; i++)
        {
            if(temp[i]==' ')
            {
                checker =0;
                continue;
            }
            else if(checker%2==0)
            {
                temp[i]=char.ToUpper(temp[i]);
            }
            else 
            {
                temp[i]=char.ToLower(temp[i]);
            }
            checker++;
        }
        string answer =new string(temp);
        return answer;
    }
}

깨달은점: 많이 어려웠다 String형 배열을 '  '를 기준으로 Split하여 풀다가 방식을 바꿔보았다

char형 배열에 '  '을 만날시 '  '은 그대로 출력하며 다시 배열의 짝홀수를 계산하는 방법이 무었이 있을까 고민하다가

int checker라는 변수를 두고 '  '을 만날시 다시 0으로 초기화 해주었다.

시간이 좀 걸렸지만 깔끔하게 풀어낸거 같다. 

반응형