reverse string

Problem

λ¬Έμžμ—΄μ΄ μ£Όμ–΄μ‘Œμ„ λ•Œ, 이λ₯Ό μ—­μˆœμœΌλ‘œ 좜λ ₯ν•˜κΈ°.

Solution

  1. reverse() λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜κΈ°

function reverseString(str) {
  return str.split('').reverse().join('');
}
  1. for loop μ‚¬μš©ν•˜κΈ°

function reverseString(str) {
  let reversed = '';
  
  for(char of str) {
    reversed = char + reversed;
  }
  return reversed;
}
  1. reduce() λ©”μ„œλ“œ μ‚¬μš©ν•˜κΈ°

Discussion

reverse() λ©”μ„œλ“œ μ‚¬μš©ν•˜κΈ°

λ¬Έμžμ—΄μ„ split() λ©”μ„œλ“œλ‘œ λ°°μ—΄λ‘œ λ§Œλ“€κ³ , reverse() λ©”μ„œλ“œλ‘œ μ—°μˆœμœΌλ‘œ λ§Œλ“  ν›„ join() λ©”μ„œλ“œλ‘œ λ‹€μ‹œ λ¬Έμžμ—΄λ‘œ λ§Œλ“€μ–΄ λ°˜ν™˜ν•œλ‹€. λ¬Έμžμ—΄μ„ split()을 μ‚¬μš©ν•΄ λ°°μ—΄λ‘œ λ§Œλ“€ 수 μžˆλ‹€λŠ” 점을 μ•Œκ²Œ λ˜μ—ˆλ‹€. κ°„λ‹¨ν•˜μ§€λ§Œ λ¬Έμžμ—΄μ„ λ°°μ—΄λ‘œ λ§Œλ“  ν›„ λ‹€μ‹œ λ¬Έμžμ—΄λ‘œ λ§Œλ“œλŠ” 과정이 λΉ„νš¨μœ¨μ !

for loop μ‚¬μš©ν•˜κΈ°

for문을 μ‚¬μš©ν•΄ λ¬Έμžμ—΄μ„ μƒˆλ‘œμš΄ λ¬Έμžμ—΄μ— μ—­μˆœμœΌλ‘œ μ €μž₯ν•œλ‹€. 기쑴에 많이 μ‚¬μš©ν•˜λ˜ 방식인 for(let i = 0; i < str.length; i++) ꡬ문이 μ•„λ‹Œ for(char of str) ꡬ문을 μ‚¬μš©ν•΄ κ°„λ‹¨ν•˜κ²Œ λ¬Έμžμ—΄μ„ μˆœνšŒν•  수 μžˆλ‹€. (ES6μ—μ„œ μΆ”κ°€λœ κΈ°λŠ₯)

reduce() λ©”μ„œλ“œ μ‚¬μš©ν•˜κΈ°

Last updated