String Reversal

Directions

주어진 문자열을 역순으로 정렬하여, 새 문자열을 반환하기.

Examples

reverse('apple') === 'elppa'
reverse('hello') === 'olleh'
reverse('Greetings!') === '!sgniteerG'

1.

가장 기본적인 방법으로는 자바스크립트 내장함수인 'reverse'를 사용하여 구현할 수 있습니다.

StringReversal_1

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

module.exports = reverse

2.

만약 'reverse' 매소드를 사용할 수 없는 경우라면, 반복문을 사용하여 구현할 수 있습니다.

StringReversal_2

function reverse(str) {
  let reversed = ''

  for (let character of str) {
    reversed = character + reversed
  }

  return reversed
}

module.exports = reverse

3.

reduce 매소드를 이용하여 좀 더 깔끔하게 구현할 수 있습니다.

function reverse(str) {
  return str.split('').reduce((rev, char) => char + rev)
}

// or

function reverse(str) {
  return str.split('').reduce((rev, char) => char + rev, '')
}

module.exports = reverse

Test

TIP

아래와 같은 방법으로 함수를 실행시키면 쉽게 디버깅을 할 수 있습니다.

reverse('apple') // elppa
reverse('hello') // olleh
reverse('Greetings!') // !sgniteerG
const reverse = require('./index')

test('Reverse function exists', () => {
  expect(reverse).toBeDefined()
})

test('Reverse reverses a string', () => {
  expect(reverse('abcd')).toEqual('dcba')
})

test('Reverse reverses a string', () => {
  expect(reverse('  abcd')).toEqual('dcba  ')
})