class Solution { public String solution(String s) { String[] str_arr = s.split(""); String answer = ""; int i = 0; int j = 0; while (i < str_arr.length) { if(str_arr[i].equals(" ")) { j = 0; } else if(j % 2 == 0) { str_arr[i] = str_arr[i].toUpperCase(); j++; } else if(j % 2 != 0) { str_arr[i] = str_arr[i].toLowerCase(); j++; } answer += str_arr[i]; i++; } return answer; } }
- 문자열 인덱스가 짝수번째 알파벳이라면 대문자 알파벳으로, 홀수번째 알파벳이라면 소문자 알파벳으로 변환하는 문제입니다. 이때 공백 문자기준으로 인덱스를 판별해야합니다. 공백문자는 1개이상일 수 있습니다.
- split을 사용하여 문자 하나하나를 str_arr에 저장하여주었습니다.
2-1. int i는 str_arr에 담긴 문자에 접근하여줄 것입니다.
2-2. int j는 홀수번째, 짝수번째 인덱스가 공백에 의해 초기화되는 것을 체크할 것입니다.- 공백문자라면 j=0을 해줌으로 인덱스를 초기화 해주었습니다.
3-1. j가 짝수번째 인덱스라면 str_arr[i] 문자를 대문자로 변환하여 주고 j를 늘려주었습니다.
3-2. 다음 else if는 j가 홀수 인덱스라면 str_arr[i] 문자를 소문자로 변환하여 주고 j를 늘려주었습니다.- 문자의 변환을 마쳤다면 answer에는 변환된 문자 혹은 공백이 추가되며, i를 늘려줌으로 다음 문자를 읽어옵니다.