Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- react
- 개발
- underscores
- ftech
- DOM
- 초보
- 엔퀸즈
- 일상
- array
- Instantiation Patterns
- 자바스크립트
- 코딩
- method
- 리액트
- grpahQL
- 해커톤
- vscode
- 알고리즘
- nqueens
- JavaScript
- 취업
- 공부
- 코드스테이츠
- JS
- this
- underbar
- 제일어려워
- 클라이언트
- 포스기
- 연습
Archives
- Today
- Total
analogcoding
algorithm 연습4 본문
문제. 인자로 받는 문자열의 첫 글자들을 대문자로 변경한 뒤 리턴.
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