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() ๋ฉ”์„œ๋“œ ์‚ฌ์šฉํ•˜๊ธฐ

function reverseString(str) {
  return str.split('').reduce((reversed, char) => char + reversed, '');
}

Discussion

reverse() ๋ฉ”์„œ๋“œ ์‚ฌ์šฉํ•˜๊ธฐ

๋ฌธ์ž์—ด์„ split() ๋ฉ”์„œ๋“œ๋กœ ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค๊ณ , reverse() ๋ฉ”์„œ๋“œ๋กœ ์—ฐ์ˆœ์œผ๋กœ ๋งŒ๋“  ํ›„ join() ๋ฉ”์„œ๋“œ๋กœ ๋‹ค์‹œ ๋ฌธ์ž์—ด๋กœ ๋งŒ๋“ค์–ด ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๋ฌธ์ž์—ด์„ split()์„ ์‚ฌ์šฉํ•ด ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ฐ„๋‹จํ•˜์ง€๋งŒ ๋ฌธ์ž์—ด์„ ๋ฐฐ์—ด๋กœ ๋งŒ๋“  ํ›„ ๋‹ค์‹œ ๋ฌธ์ž์—ด๋กœ ๋งŒ๋“œ๋Š” ๊ณผ์ •์ด ๋น„ํšจ์œจ์ !

for loop ์‚ฌ์šฉํ•˜๊ธฐ

for๋ฌธ์„ ์‚ฌ์šฉํ•ด ๋ฌธ์ž์—ด์„ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์— ์—ญ์ˆœ์œผ๋กœ ์ €์žฅํ•œ๋‹ค. ๊ธฐ์กด์— ๋งŽ์ด ์‚ฌ์šฉํ•˜๋˜ ๋ฐฉ์‹์ธ for(let i = 0; i < str.length; i++) ๊ตฌ๋ฌธ์ด ์•„๋‹Œ for(char of str) ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ฌธ์ž์—ด์„ ์ˆœํšŒํ•  ์ˆ˜ ์žˆ๋‹ค. (ES6์—์„œ ์ถ”๊ฐ€๋œ ๊ธฐ๋Šฅ)

reduce() ๋ฉ”์„œ๋“œ ์‚ฌ์šฉํ•˜๊ธฐ

์•„์ง ์ต์ˆ™ํ•˜์ง€ ์•Š์€ reduce() ๋ฉ”์„œ๋“œ...
reduce() ๋ฉ”์„œ๋“œ๋Š” ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ์— ๋Œ€ํ•ด ์ฃผ์–ด์ง„ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ํ•˜๋‚˜์˜ ๊ฒฐ๊ณผ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
์ดˆ๊ธฐ๊ฐ’์„ ๋นˆ๋ฌธ์ž์—ด๋กœ ์„ค์ •ํ•˜๊ณ , ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ๋ฅผ ์ˆœํšŒํ•˜๋ฉฐ ๋ฌธ์ž์—ด์„ ์—ญ์ˆœ์œผ๋กœ ๋งŒ๋“ค์–ด ๋ฐ˜ํ™˜ํ•œ๋‹ค.

Last updated