문제설명 )
풀이Code )
class Solution {
public String solution(String s) { // A : 65, a : 97
String answer = "";
int cnt = 0;
for(int i=0; i<s.length(); i++) {
char tmp = s.charAt(i);
if(tmp == ' ') { // 공백일경우
answer += ' ';
cnt = 0;
}
else { // 공백이 아닐경우
if (cnt%2 == 0) { // 짝수일경우
answer += tmp > 96 ? (char)(tmp - 32) : tmp;
cnt++;
}
else { // 홀수일경우
answer += tmp < 96 ? (char)(tmp + 32) : tmp;
cnt++;
}
}
}
return answer;
}
}
풀이법 )
1. 공백일경우를 가장 상위 if문을 통해 걸러준다.
2. 짝수, 홀수를 구분하고 삼항연사자를 통해 대문자 또는 소문자, 또는 그대로 값을 담아준다.
3. cnt를 통하여 인덱스를 구분하고 공백일때는 cnt를 초기화하여 공백을 기준으로 인덱스를구분한다.
[Programmers] Level2. 다리를 지나는 트럭 (Java) (0) | 2021.04.16 |
---|---|
[Programmers] Level1. 자릿수 더하기 (Java) (0) | 2021.01.25 |
[Programmers] Level1. 약수의 합 (Java) (0) | 2021.01.24 |
[Programmers] Level1. 시저암호 (Java) (0) | 2021.01.23 |
[Programmers] Level1. 수박수박수박수박수박수? (Java) (0) | 2021.01.21 |