level 2. 이상한 문자만들기 (Javascript)

이상한 문자만들기

문제

toWeirdCase함수는 문자열 s를 매개변수로 입력받습니다.
문자열 s에 각 단어의 짝수번째 인덱스 문자는 대문자로, 홀수번째 인덱스 문자는 소문자로 바꾼 문자열을 리턴하도록 함수를 완성하세요.
예를 들어 s가 “try hello world”라면 첫 번째 단어는 “TrY”, 두 번째 단어는 “HeLlO”, 세 번째 단어는 “WoRlD”로 바꿔 “TrY HeLlO WoRlD”를 리턴하면 됩니다.
주의 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단합니다.

풀이 (본인)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function toWeirdCase(s) {
var result = [];
var divStr = s.split(' ');
for(var num = 0; num < divStr.length; num++){
var sumArr = [];
for(var numInner = 0; numInner<divStr[num].split('').length; numInner++){
(numInner%2)? sumArr.push(divStr[num].split('')[numInner]) : sumArr.push(divStr[num].split('')[numInner].toUpperCase())
}
result.push(sumArr.join(''));
}
return result.join(' ');
}
// 아래는 테스트로 출력해 보기 위한 코드입니다.
console.log("결과 : " + toWeirdCase("try hello world"));

풀이 (다른 사람)

1
2
3
4
5
function toWeirdCase(s){
return s.toUpperCase().replace(/(\w)(\w)/g, function(a){return a[0].toUpperCase()+a[1].toLowerCase();})
}
// 아래는 테스트로 출력해 보기 위한 코드입니다.
console.log("결과 : " + toWeirdCase("try hello world"));

배운점

  • 정규표현식을 이용하여 코드를 1줄로 줄였다.

느낀점

  • 대부분 짧은 코드는 정규표현식을 사용하였는데 실무에서 어떻게 사용해야할지 궁금하다.
공유하기