프로그래머스 #JS - 이상한 문자 만들기

SSO·2020년 1월 13일
0

프로그래머스Lv1

목록 보기
21/47

문제

https://programmers.co.kr/learn/courses/30/lessons/12930

풀이

  1. 2020
function solution(s) {
    var answer = '';
    var temp = [];
    
    temp = s.split(' ');

    for(var i=0; i<temp.length; i++){
        for(var j=0;j<temp[i].length;j++){
            if(j%2 === 0){
                answer = answer + temp[i][j].toUpperCase();
            }else{
                answer = answer + temp[i][j].toLowerCase();
            }
        } answer = answer + ' ';  
  }
    answer = answer.slice(0,answer.length-1);
    return answer;
}

더 생각해보기
  다른 사람의 풀이 다시 확인하기. 내 코드가 속도가 느림.
Q.이중 for 문보다는 index를 사용하는게 더 효율적이겠지?
  다른 사람의 풀이 - 정규식, replace()

function toWeirdCase(s){
  //함수를 완성해주세요
  return s.toUpperCase().replace(/(\w)(\w)/g, function(a){return a[0].toUpperCase()+a[1].toLowerCase();})

}
  1. 2019
function solution(s) {
    var answer = '';
    var index =0;
    var lengthOfString = s.length;
    
    for( var i=0; i<lengthOfString; i++){
        if (s[i] === ' '){
            index = -1;
        } 

        if ((index % 2) === 0){
            answer = answer + s[i].toUpperCase();
        } else {
            answer = answer + s[i].toLowerCase();
        }
        
        index = index + 1;
    }
     return answer;
}

참고사항

string 관련 method - split(), slice()
array 관련 method - slice()

profile
happy

0개의 댓글