반응형
문제 설명
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
제한 사항
문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
입출력 예
s return
"try hello world" "TrY HeLlO WoRlD"
입출력 예 설명
"try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 "TrY", "HeLlO", "WoRlD"입니다. 따라서 "TrY HeLlO WoRlD" 를 리턴합니다.
실패코드
class Solution {
public String solution(String s) {
String answer = "";
String[] sArr = s.split(" ");
for(int i=0; i<sArr.length; i++){
String str = sArr[i];
String[] strArr = str.split("");
for(int j=0; j<strArr.length; j++){
String getStr = strArr[j];
if(j%2 == 0) answer += getStr.toUpperCase();
else answer += getStr.toLowerCase();
}
if(i < sArr.length-1) answer += " ";
}
return answer;
}
}
아마도 split을 여러번 사용해서 실패했나 싶다.
성공코드
class Solution {
public String solution(String s) {
String answer = "";
String[] strArr = s.split("");
int idx = 0;
for(String str : strArr){
if(str.equals(" ")){
idx = 0;
answer += " ";
}else{
if(idx%2 == 0) answer += str.toUpperCase();
else answer += str.toLowerCase();
idx++;
}
}
return answer;
}
}
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[#프로그래머스] 제일 작은 수 제거하기 (0) | 2023.02.09 |
---|---|
[#프로그래머스] 하샤드 수 (0) | 2023.02.09 |
[#프로그래머스] 평균 구하기 (0) | 2023.02.09 |
[#프로그래머스] 핸드폰 번호 가리기 (0) | 2023.02.09 |
[#프로그래머스] 행렬의 덧셈 (0) | 2023.02.08 |
댓글