문제
문장 내 단어 중 5자 이상의 단어일 경우 이를 역순으로 전환하여 새로운 문장을 반환하는 함수를 만들기.
문제 주소: www.codewars.com/kata/5264d2b162488dc400000001/train/javascript
내 풀이
function spinWords(strings){
let newString = [];
newString = strings.split(' ');
for (let i = 0; i < newString.length; i++) {
if(newString[i].length >= 5) {
newString[i] = newString[i].split('').reverse().join('')
}
}
return newString.join(' ');
}
우수 답안
function spinWords(words){
return words.split(' ').map(function (word) {
return (word.length > 4) ? word.split('').reverse().join('') : word;
}).join(' ');
}
후기 및 새롭게 배운 것
코드 워즈는 지난 단계에서 배운 메소드 등을 의도적으로 활용해볼 수 있게 문제를 구성한 것 같아 좋다. 코드 제출 때 시간이 좀 걸리지만, 자바스크립트 초보자인 내게는 너무도 고마운 사이트가 아닐 수 없다.
우수 답안에서는 map
메소드를 사용했다. 들어본 적은 있지만, 사용해 본 적이 없어 새롭게 정리해봤다. 내가 작성한 코드를 다시 보니 배열을 생성해서 순서가 바뀐 단어를 요소로 받고, 이를 다시 문자열로 조합했는데, 불필요한 작업이었던 것 같다.
'개발 > TIL;' 카테고리의 다른 글
[코드 워즈] 5. Descending Order (0) | 2020.12.20 |
---|---|
[코드 워즈] 3. Create Phone Number (0) | 2020.12.18 |
[코드워즈] 2. Find The Parity Outlier (0) | 2020.12.16 |