이상한 문자 만들기

우창민·2023년 12월 7일
0

문제 설명

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


제한 사항

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

풀이

using System;
using System.Text;

public class Solution {
    public string solution(string s) {
        int length = s.Length;
        string lowS = s.ToLower();
        StringBuilder sb = new StringBuilder();
        
        int index = 1;
        for(int i=0; i < length ; i++){
            if(lowS[i] ==' '){
                index=0;
            }
            if(index %2 !=0){
                sb.Append((char)(lowS[i]-32));
            }
            else{
                sb.Append(lowS[i]);
            }
            index++;
        }
        return sb.ToString();
    }
}

코드중 주의점

public class Solution {
    public string solution(string s) {
        string answer = "";
        int num = 0;

        for(int i = 0; i < s.Length; i++)
        {
            answer += num % 2 == 0 ? s[i].ToString().ToUpper() : s[i].ToString().ToLower();

            num = s[i] == ' '? 0 : num + 1;

        }
        
        return answer;
    }
}

cf

사실 골자자체는 위의 풀이두개가 크게 다르진 않지만 삼항 연산자를 자유롭게 사용한부분.

profile
더 편하게 더 간단하게

0개의 댓글