내 코드 - String.split(" ")을 사용할 때, 공백에 주의했어야 한다.
class Solution {
public String solution(String s) {
String answer = "";
String[] sArr = s.split(" ");
String[] smallSArr;
String tmp;
for (int j = 0; j < sArr.length; j++) {
smallSArr = sArr[j].split("");
for (int i = 0; i < smallSArr.length; i++) {
tmp = smallSArr[i];
/**
* 대문자로
*/
if (i % 2 == 0) {
tmp = tmp.toUpperCase();
/**
* 소문자로
*/
} else {
tmp = tmp.toLowerCase();
}
smallSArr[i] = tmp;
}
sArr[j] = String.join("", smallSArr);
}
answer = String.join(" ", sArr);
/**
* String.split(" ")로 나누면
* 초기 단어의 끝부분에 공백이 존재할 때, 그 공백이 사라지는데
* 그 부분을 인위적으로 추가해 줌
*/
int lastTrimLen = s.length() - answer.length();
for (int i = 0; i < lastTrimLen; i++) {
answer += " ";
}
return answer;
}
}
그리고 다른 사람 코드는 별 다른 건 없고, StringBuilder를 사용했는데
String, StringBuilder, StringBuffer의 차이는 아래와 같다.
/**
* 불변
*/
String
/**
* 가변 - 싱글 스레드
*/
StringBuilder
/**
* 가변 - 멀티 스레드
*/
StringBuffer
'프로그래머스' 카테고리의 다른 글
프로그래머스 - 제일 작은 수 제거하기 (0) | 2019.01.10 |
---|---|
프로그래머스 - 정수 제곱근 판별 (0) | 2019.01.10 |
프로그래머스 - 평균 구하기 (0) | 2019.01.09 |
프로그래머스 - 자릿수 더하기 (0) | 2019.01.09 |
프로그래머스 - 문자열 내림차순으로 배치하기 (0) | 2019.01.09 |