ALGORITHM/PROGRAMMERS
[프로그래머스] 이상한 문자 만들기 (연습문제)
0298
2020. 12. 13. 00:41
programmers.co.kr/learn/courses/30/lessons/12930?language=cpp
코딩테스트 연습 - 이상한 문자 만들기
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을
programmers.co.kr
2020-12-13
C++
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#include <string>
#include <vector>
#include <iostream>
using namespace std;
string solution(string s) {
string answer = "";
int idx = 0;
for(int i = 0; i < s.size(); i++)
{
if(s[i] == ' '){
answer += ' ';
idx = 0;
continue;
}
else if(idx % 2 == 0)
answer += toupper(s[i]);
else
answer += tolower(s[i]);
idx++;
}
return answer;
}
|
cs |
JAVA
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
class Solution {
public String solution(String s) {
String answer = "";
int idx = 0;
for(int i = 0; i < s.length(); i++) {
if(s.charAt(i) == ' ') {
answer += " ";
idx = 0;
continue;
} else if(idx % 2 == 0) {
answer += String.valueOf(s.charAt(i)).toUpperCase();
} else {
answer += String.valueOf(s.charAt(i)).toLowerCase();
}
idx++;
}
return answer;
}
}
|
cs |
2년전쯤 C++로 코딩 테스트 공부를 했었는데, 그 때 시도했다가 아마 오늘처럼 문제를 잘못읽어서 틀린 이유를 모르고 넘어갔었던 것 같다.
분명 제한사항에 아래와 같이 단어를 기준으로 인덱스를 판단해야한다고 써있음에도 불구하고 문자열 전체로 생각하고 짰어서 예제 값만 맞고 실제 테스트에서는 틀리게 나왔었던 것이다.
문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.