21. 이상한 문자 만들기

김원호·2022년 7월 17일
0

문제

문제설명

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

제안사항

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

입출력 예

풀이

function solution(s) {
    let arr = s.split(' ');
    let ab = arr.map((val,index)=>{
        temp="";
        for(let i=0; i<val.length; i++){
            if(i%2===0){temp+=val[i].toUpperCase();}
            else{temp+=val[i].toLowerCase();}
        }
        return temp;
    });
    return ab.join(' ');
}

해설

for() vs forEach() vs map()

  • map()

    • 기본형식
    const array = ['a', 'b', 'c',  'd'];
    
    //기본형
    array.map(function(매개변수){
      console.log(매개변수명);
      return // 반환값 설정
    });
    
    // 화살표 함수
    array.map(매개변수 => {
      console.log(매개변수명)
      return // 반환값 설정
    });
    * array.map(매개변수 => { console.log(매개변수명) ***}); // return없이 반환값 설정

join()

Array.join()
join() 메서드는 배열의 모든 요소를 연결해 하나의 문자열로 만든다.

const arr = ['바람', '비', '물'];
console.log(arr.join());
// 바람,비,물
console.log(arr.join(''));
// 바람비물
console.log(arr.join('-'));
// 바람-비-물
profile
당신은사랑받기위해태어난사람

0개의 댓글