반응형
문제 설명
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백 문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
제한 사항
- 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야 합니다.
생각
글을 쓰면서 내가 처음에 푼 풀이를 봤는데.. 다시 봐도 이해가 되지 않는 코드였다. 그래서 처음부터 다시 풀기로 하였다. 처음엔 문제가 잘 이해가 안갔다. 예시를 보면서 이해하도록 하자. hello my friend의 예시를 들자. 문자의 전체 인덱스가 아니라 공백 별로 인덱스를 판단해야 한다!! 이 부분을 잘 생각하면 hello, my, friend로 나눠서 생각해야 한다.
hello -> HeLlo my -> My frieng -> FrIeNd로 변해야 할 것이다. 그렇다면 공백이 나올 때마다 현재의 인덱스를 0으로 만들어주고 뒤의 단어들의 인덱스를 검사해서 홀수이면 toLowerCase()로 짝수이면 toUpperCase()로 바꿔야 할 것이다.
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
class Solution {
public String solution(String s) {
String answer = "";
char ch = 0;
int index = 0;
for(int i=0; i<s.length(); i++) {
if(s.charAt(i) == ' ') {
ch = s.charAt(i);
index = 0;
} else {
index += 1;
if(index%2!=0) {
ch = Character.toUpperCase(s.charAt(i));
} else {
ch = Character.toLowerCase(s.charAt(i));
}
}
answer += ch;
}
return answer;
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
|
처음에 푼 것을 웬만하면 올리겠지만 너무 부끄러워서 차마 올리지 못했다. 그래도 다행인 점은 나의 코드에 대해 부끄러워할 수 있는 걸 자각한 점이다. 시간이 지나도 자신의 코드를 봤을 때 부끄럽지 않으면 실력이 나아지지 않은 것이라고 누군가가 말했다. 아직도 부족한 실력이지만 그나마 나아졌다 생각하니 위로가 되었다.
반응형
'알고리즘 > 코딩 - 프로그래머스' 카테고리의 다른 글
[Java][프로그래머스][Level 1] 자연수 뒤집어 배열로 만들기 (0) | 2019.04.09 |
---|---|
[Java][프로그래머스][Level 1] 자릿수 더하기 (0) | 2019.04.07 |
[Java][프로그래머스][Level 1] 약수의 합 (0) | 2019.04.05 |
[Java][프로그래머스][Level 1] 시저 암호 (0) | 2019.04.04 |
[Java][프로그래머스][Level 1] 수박수박수박수박수박수? (0) | 2019.04.03 |