analogcoding

algorithm 연습4 본문

Study JS for me/Algorithm

algorithm 연습4

be well 2019. 4. 27. 14:36

문제. 인자로 받는 문자열의 첫 글자들을 대문자로 변경한 뒤 리턴.

 

Ex) input : "hello world"   =>  output : "Hello World"

       input : "javascript is sexy"   =>  output : "Javascript Is Sexy"

 

해결방안

 

1. 공백으로 구분된 단어를 배열로 나눔.

2. 첫 글자만 toUpperCase()를 사용해서 대문자로 변경.

3. 다시 문자열로 합친 뒤 리턴.

 

split(' ') 메소드를 써서 공백으로 구분 된 단어 요소로 나누어준다.

var letterCapitalize = function(str) {
  str = str.split(' ');

map() 함수를 이용해서 elements의 0번째 요소를 대문자로 변경하고 남은 elements에서 0번째 요소를 뺀 복사본을 합쳐준다.
다시 join(' ')을 사용해서 문자열로 합쳐준다.

var result = str.map((ele)=>{
    return ele[0].toUpperCase() + ele.slice(1)
  })

  return result.join(' ')
}

 

결과확인

 

 

처음 이 문제를 풀 때는 반복문을 써서 각 요소에 접근한 뒤 i의 0번째를 모두 변경한 뒤 join(' ')으로 합치는 방식으로

 

해결했는데 동기분이 제시해주신 방법을 써서 따라해보니 훨씬 가독성있고 좋은 코드로 해결한 것 같다. 어렵다는 선입견에

잘 사용하지 못했던 map함수와도 조금 친해진 기분이다. 

'Study JS for me > Algorithm' 카테고리의 다른 글

algorithm 연습6  (0) 2019.04.28
algorithm 연습5  (0) 2019.04.27
algorithm 연습3  (0) 2019.04.26
algorithm 연습2  (0) 2019.04.26
algorithm 연습  (0) 2019.04.26
Comments