문제

풀이코드
public String solution(String s) { //JadenCase 문자열 만들기
String answer = "";
boolean change = true; //대문자로 바꿀지 판단하는 변수 추가
for(char x : s.toCharArray()){
if(change){ //change가 true일 경우 대문자로 바꿈
answer += Character.toUpperCase(x);
change = false; //대문자로 바꾸고 난뒤, change를 false로 바꿈
if(x == ' '){ //만약 공백이면 다시 change를 true로 바꿈
change = true;
}
}else{ //change가 false일 경우 소문자로 바꿈
if(x == ' '){ //만약 공백이면 다시 change를 true로 바꿈
change = true;
answer += x;
continue;
}
answer += Character.toLowerCase(x);
}
}
return answer;
}
원래의 풀이코드는 이랬으나 리팩토링을 한 결과
public String solution(String s) { //JadenCase 문자열 만들기
String answer = "";
boolean change = true; //true일경우 대문자로 바꾸는 변수 생성
for(char x : s.toCharArray()){
if(change){ //change = "true"일 경우
answer += Character.toUpperCase(x); //대문자로 바꾸고
change = false; //change = "false"로 바꾼다.
}else{ //chage = "false"일 경우
answer += Character.toLowerCase(x); //소문자로 바꾼다.
}
if(x == ' '){ //그리고 만약 이렇게 바꾼 뒤 그것이 공백이라면
change = true; //change를 다시 "true"로 바꾼다.
}
}
return answer;
}
몇가지 불필요한 코드들을 제거할 수 있었다.
이 문제는 그렇게 어렵지 않아서 주석의 풀이로만으로도 충분히 이해가 가능할 것이다.
'프로그래머스 > Level 2' 카테고리의 다른 글
| [프로그래머스][Level2][Java] 숫자의 표현 (0) | 2022.03.08 |
|---|---|
| [프로그래머스][Level2][Java] 최솟값 만들기 (0) | 2022.03.07 |
| [프로그래머스][Level2][Java] 피보나치 수 (0) | 2022.03.07 |
| [프로그래머스][Level2][Java] 행렬의 곱셈 (0) | 2022.03.07 |
| [프로그래머스][Level2][Java] N개의 최소공배수 (0) | 2022.03.06 |