이상한 문자 만들기

문제 설명

문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.

 

제한 사항

  • 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
  • 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.

 

입출력 예

s return
try hello world TrY HeLlO WoRlD

 

Python

def solution(s):
    temp = []
    for i in s.split(' '):
        word = ''
        for j in range(len(i)):
            c = i[j].upper() if j % 2 == 0 else i[j].lower()
            word = word + c
        temp.append(word)
    return ' '.join(temp)

JavaScript

function solution(s) {
    var answer = "";
    let whiteSpace = 0;
    for(let i = 0; i < s.length; i++){
        if(s.charAt(i) === ' '){
            answer += ' ';
            whiteSpace = 0;
        } else {
            answer += whiteSpace%2 != 0 ? s.charAt(i).toLowerCase() : s.charAt(i).toUpperCase();
            whiteSpace ++;
        }     
    }
    return answer;
}

C++

#include <string>
#include <vector>

using namespace std;

string solution(string s) {
    string answer = "";
    int idx = 1;
    for (int i = 0; i < s.size(); i++, idx++)
    {
        if (s[i] == ' ')
        {
            idx = 0;
            answer += " ";
        }
        else
            idx % 2 != 0 ? answer += toupper(s[i]) : answer += tolower(s[i]);
    }

    return answer;
}
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기