문자 사이의 공백을 어떻게 처리해야 하나...
* 내 풀이 -> 틀림
import java.util.*;
class Solution {
public String solution(String s) {
StringBuilder sb = new StringBuilder();
String[] arr = s.trim().split(" ");
for(String str : arr) {
for(int i=0; i<str.length(); i++) {
if (i == 0 || i%2 == 0) {
sb.append(Character.toUpperCase(str.charAt(i)));
} else if (i%2 != 0) {
sb.append(Character.toLowerCase(str.charAt(i)));
}
}
sb.append(" ");
}
return sb.toString().trim();
}
}
String.split(String regex, int limit) -> 공백 유지
String str = "수박:사과:배:메론:::";
// limit = 0
String[] arr = str.split(":"); // {"수박", "사과", "배", "메론"}
// limit > 0
String[] arr = str.split(":", 3); // {"수박", "사과", "배:메론"}
// limit < 0
String[] arr = str.split(":", -1); // {"수박", "사과", "배", "메론", "", "", ""}
* 다른 사람 풀이
import java.util.*;
class Solution {
public String solution(String s) {
StringBuilder sb = new StringBuilder();
String[] arr = s.split(""); // [t,r,y, , ,h,e,l,l,o]
int index = 0;
for(int i=0; i<arr.length; i++) {
if (arr[i].equals(" ")) {
index = 0;
} else if (index % 2 == 0) {
arr[i] = arr[i].toUpperCase();
index++;
} else {
arr[i] = arr[i].toLowerCase();
index++;
}
sb.append(arr[i]);
}
return sb.toString();
}
}
'코딩테스트 > Programmers' 카테고리의 다른 글
[Programmers] 숫자 문자열과 영단어 (0) | 2023.08.30 |
---|---|
[Programmers] 최소직사각형 (완전탐색) (0) | 2023.08.28 |
[Programmers] 3진법 뒤집기 (0) | 2023.08.25 |
[Programmers] 같은 숫자는 싫어 - 여러 방법 (0) | 2023.08.25 |
[Programmers] 약수의 개수와 덧셈 (0) | 2023.08.14 |