reverseWords.js (8kyu 40)

Codewars 알고리즘 풀이


Problem

  • Complete the solution so that if reverses all of the words within the string passed in.
    • 문자열의 모든 단어를 반전한다.


Solution 01

function reverseWords(str) {
  let arr = str.split(' ');
  let result = [];
  
  for (let i = arr.length - 1; i >= 0; i--) {
    result.push(arr[i]);
  }
  return result.join(' ');
}

reverseWords('a b c');          // c b a
reverseWords('1 22 333 4444');  // 4444 333 22 1

split() 메소드

문자열을 부분 문자열로 분할하고, 새 배열로 반환한다.

push() 메소드

배열의 끝에 새 element를 추가하고, 새로운 길이를 반환한다.

join() 메소드

배열의 모든 element를 결합하고, 새 문자열로 반환한다.


Solution 02

function reverseWords(str) {
  return str.split(' ').reverse().join(' ');
}

reverseWords('a b c');          // c b a
reverseWords('1 22 333 4444');  // 4444 333 22 1

reverse() 메소드

배열 내 element의 순서를 반전한다.