[프로그래머스] JadenCase 문자열 만들기

박지예·2023년 8월 21일
0

코딩테스트

목록 보기
3/17

문제

첫번째 시도

        public string solution(string s)
        {
            string answer = "";

            s = s.ToLower();

            string[] ss = s.Split(" ");


            for (int i = 0; i < ss.Length; i++)
            {
                string s1 = ss[i];
                string temp = "";

                temp += char.ToUpper(s1[0]) + s1.Substring(1);

                if(i == ss.Length - 1)
                    answer += temp;
                else
                    answer += temp + ' ';
                
            }

            return answer;
        }

공백과 관련한 예외처리가 이루어지지 않았다.

정답

        public string solution(string s)
        {
            StringBuilder answer = new StringBuilder();

            s = s.ToLower();

            bool _isnew= true;

            for (int i = 0; i < s.Length; i++)
            {

                if (char.IsWhiteSpace(s[i]))
                {
                    answer.Append(" ");
                    _isnew = true;
                    continue;
                }

                if(_isnew)
                {
                    answer.Append(s[i].ToString().ToUpper());
                    _isnew = false;
                }
                else
                {
                    answer.Append(s[i]);
                }

            }

            return answer.ToString();
        }

공백이 여러개 존재할 수 있으므로 Split으로 나누는게 아닌 한칸씩 순회하면서 공백을 체크해 주었다.

profile
언젠간 바다로 갈거야!🐋

0개의 댓글