728x90
이상한 문자 만들기
문제 설명
공백을 기준으로 문자열을 잘라 해당 문자열의 홀수 번째와 짝수 번째를 처리하는 문제.
스플릿으로 공백을 기준으로 문자열을 자르면될 것 같지만, 공백이 2개 이상 들어왔을 때 처리할 수가 없다.
따라서 직접 스플릿을 구현하여 푸는 문제이다. c++은 원래 구현을해야겠지만(split함수가 존재하지 않음) python같은 경우엔 split이 있어도 쓰지 못한다.
문제 풀이
소스코드 : C++
#include <string>
#include <vector>
using namespace std;
string solution(string s) {
string answer = "";
string tmp = "";
int idx =0;
for(int i=0; i<=s.size(); i++){
if(s[i] == ' ' || s[i] == '\0'){
if(s[i] == ' ')tmp+=' ';
answer +=tmp;
tmp = "";
idx = 0;
}
else{
tmp += idx%2 == 0?toupper(s[i]):tolower(s[i]);
idx++;
}
}
return answer;
}
소스코드 : Python
def solution(s):
answer = ""
idx = 0
tmp =""
for i in range(len(s)):
tmp += s[i].upper() if idx%2==0 else s[i].lower()
if s[i]==" ":
idx = 0
answer +=tmp
tmp = ""
else: idx+=1
else: answer +=tmp
return answer
728x90
300x250