Jam's story
[프로그래머스] 이상한 문자 만들기 본문
package programmers;
import java.util.Arrays;
public class 이상한문자만들기 {
public static String solution(String s) {
String answer = "";
String[] sp=s.split(" ");
char[] arr = null;
for(int i=0; i<sp.length; i++){
arr=sp[i].toCharArray();
for (int j = 0; j < arr.length; j++) {
if(arr[j]==' ') { answer+=" "; continue;}
else if((j%2)==0) {
arr[j]=Character.toUpperCase(arr[j]);
}else {
arr[j]=Character.toLowerCase(arr[j]);
}
answer+=arr[j];
}//for-j
if(i!=sp.length-1) answer+=" ";
}//for-i
System.out.println(answer);
return answer;
}
public static void main(String[] args) {
String s="try hello world";
solution(s);
}
}
4,5,8,9,11 테스트 실패
각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 이것을 해결 해야할듯
해결한 코드
- for문 안에서 char 배열로 바꿔주고 , char 문자를 하나씩 돌린다.
- 인덱스는 0부터 시작
- 공백이라면, 인덱스를 0으로 맞춰주어 다시 세게 해주고, sb에 추가해준다.
- 인덱스가 짝수라면, (그 후에, 인덱스를 올리고 ) 대문자
- 홀수라면 소문자로
- 답 반환
package programmers;
public class 이상한문자만들기 {
public static String solution(String s) {
StringBuilder sb=new StringBuilder();
int index=0;
for(char c: s.toCharArray()) {
if(c==' ') {
index=0;
sb.append(" ");}
else if(index++%2==0) {
sb.append(Character.toUpperCase(c));
}else {
sb.append(Character.toLowerCase(c));
}
}
System.out.println(sb.toString());
return sb.toString();
}
public static void main(String[] args) {
String s="try hello world";
solution(s);
}
}
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 콜라츠 추측 (0) | 2022.08.12 |
---|---|
[프로그래머스] 최대공약수와 최소공배수 (0) | 2022.08.10 |
[프로그래머스] 약수의 합 (0) | 2022.08.06 |
[프로그래머스] 시저 암호 (0) | 2022.08.05 |
[프로그래머스] 소수찾기 (0) | 2022.08.04 |
Comments