프로그래머스/[프로그래머스 - JAVA] Lv.1
[프로그래머스 - JAVA] 이상한 문자 만들기
코딩하는 흰둥이
2023. 3. 30. 22:56
- 내 풀이
class Solution {
public String solution(String s) {
String answer = "";
for(int i = 0; i < s.length(); i++){
if(!" ".equals(String.valueOf(s.charAt(i))) && i % 2 == 0){
answer += String.valueOf(s.charAt(i)).toUpperCase();
}else if (!" ".equals(String.valueOf(s.charAt(i))) && i % 2 == 1){
answer += String.valueOf(s.charAt(i)).toLowerCase();
}else if(" ".equals(String.valueOf(s.charAt(i)))){
answer += " ";
}
}
return answer;
}
}
또 제한 사항 제대로 읽지 않고 푼....
class Solution {
public String solution(String s) {
String answer = "";
// split(regex , limit) limit에 음수를 주어 공백을 유지함
String[] check = s.split(" ",-1);
for (int i = 0; i < check.length; i++) {
// 단어 시작전 공백 추가
if (i != 0){
answer += " ";
}
for (int j = 0; j < check[i].length(); j++) {
if(j % 2 == 0 ){
answer += String.valueOf(check[i].charAt(j)).toUpperCase();
}else if(j % 2 == 1) {
answer += String.valueOf(check[i].charAt(j)).toLowerCase();
}
}
}
return answer;
}
}
- 다른 사람 풀이
class Solution {
public String solution(String s) {
char[] chars = s.toCharArray();
int idx = 0;
for (int i = 0; i < chars.length; i++) {
if (chars[i] == ' ')
idx = 0;
else
chars[i] = (idx++ % 2 == 0 ? Character.toUpperCase(chars[i]) : Character.toLowerCase(chars[i]));
}
return String.valueOf(chars);
}
}