문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/12930#

제한 사항

입출력 예

풀이
class Solution {
public String solution(String s) {
StringBuilder strBuilder = new StringBuilder();
String[] sArr = s.split("\\b +\\b");
String spaceStr = s.replaceAll("\\w+", "!");
for (String str : sArr) {
strBuilder.setLength(0);
str = str.trim();
for (int i = 0; i < str.length(); i++) {
if (i % 2 == 0) strBuilder.append(str.substring(i, i + 1).toUpperCase());
else strBuilder.append(str.substring(i, i + 1).toLowerCase());
}
spaceStr = spaceStr.replaceFirst("\\!", strBuilder.toString());
}
return spaceStr;
}
}
후기
예전 레벨1치고는 조금 어려웠다. 나는 공백과 단어를 서로 따로 분리해서 처리하고 단어는 단어 단위로 배열에 저장, 공백은 단어들을 !로 바꾼 후 문자열로 저장하고 단어 배열을 대문자, 소문자 처리하고 이를 !로 바꾼 문자열에서 차례대로 !를 단어 배열에 있는 값으로 바꿨다.
근데 이게 왜 7점이나 줄까...
'코딩테스트 (프로그래머스) > Java' 카테고리의 다른 글
| [프로그래머스][JAVA][Lv. 1] 시저 암호 (0) | 2023.08.14 |
|---|---|
| [프로그래머스][JAVA][Lv. 2] 구명보트 (0) | 2023.08.14 |
| [프로그래머스][JAVA][Lv. 2] 피보나치 수 (0) | 2023.08.11 |
| [프로그래머스][JAVA][Lv. 2] 다음 큰 숫자 (0) | 2023.08.11 |
| [프로그래머스][JAVA][Lv. 1] 문자열 내 p와 y의 개수 (0) | 2023.08.10 |