21.奇妙な文字を作成する

1149 ワード

class Solution {
    public String solution(String s) {
       String answer = "";
       
       	// 양수가 아닌 값을 넣으면 뒤에 조건을 만족하는 
       	공백이 있어도 가능한 많이 배열에 넣음.              	
        String[] strArray = s.split(" ", -1);
        
        // 각 단어별로 단어를 나눔
        for ( String word : strArray)
        {
        	char[] alpha = word.toCharArray();
        	for(int i = 0; i < alpha.length; i++)
        	{
        		if( i % 2 == 0 || i == 0)
        		{
        			if( Character.isLowerCase(word.charAt(i)) )
            			{
            				alpha[i] -= 32;
            			}
        		}
        		else
        		{
        			if( Character.isUpperCase(word.charAt(i)))
            			{
            				alpha[i] += 32;
            			}
        		}        		
        	}        	
        	answer += String.valueOf(alpha) + " ";
        }
        answer = answer.substring(0, answer.length() -1);
        return answer;
    }
}
if文で小文字と大文字の変換にAskyコードの値を加算または減算しますが、if文を使用することなくtoUpperCase関数を使用するとより簡潔に解決できます.