21. 이상한 문자 만들기

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문을 통해 소문자와 대문자의 변환을 아스키코드의 값을 더해주거나 빼서 만들어 주었으나 toUpperCase 함수를 사용해 이프문 없이 더 간결하게 해결할 수 있었다.

좋은 웹페이지 즐겨찾기