πŸ“‚ Base/μ•Œκ³ λ¦¬μ¦˜

μˆœμ„œκ°€ λ’€μ§‘νžŒ λ¬Έμžμ—΄μ„ λ¦¬ν„΄ν•˜κΈ°

Dev. Ella 2023. 3. 21. 16:55

πŸ“œ 문제

λ¬Έμžμ—΄μ„ μž…λ ₯λ°›μ•„ μˆœμ„œκ°€ λ’€μ§‘νžŒ λ¬Έμžμ—΄μ„ λ¦¬ν„΄ν•΄μ•Ό ν•©λ‹ˆλ‹€.

 

✍🏻 λ‚΄ 풀이: for loop ν™œμš©

function firstReverse(str) {
// μž…λ ₯: str
// 좜λ ₯: μˆœμ„œκ°€ λ’€μ§‘νžŒ λ¬Έμžμ—΄

// μƒˆλ‘œ 생성될 λ¬Έμžμ—΄μ„ 담을 빈 λ¬Έμžμ—΄ λ§Œλ“€κΈ°
  let result = '';
 
// for loop) 반볡문의 μ‹œμž‘μ μ€ λ¬Έμžμ—΄μ˜ λ§ˆμ§€λ§‰ 문자의 인덱슀인 str.length -1μž„
// iκ°€ 0보닀 ν¬κ±°λ‚˜ 같은 μ½”λ“œλŠ” 반볡적으둜 μˆ˜ν–‰λ˜κ³ , μ΄λ•Œλ§ˆλ‹€ i의 값을 μ€„μž„
  for (let i = str.length -1; i >= 0; i--) {
    result = result + str[i]; // or result += str[i];
  }
// λ°˜μ „λœ λ¬Έμžμ—΄μ„ λ°˜ν™˜
  return result;
}

 

✍🏻 λ˜λ‹€λ₯Έ 풀이: arr.reverse ν™œμš©

1. split( )을 μ‚¬μš©ν•˜λ˜, 빈 문자 값인 '' 을 μ‚¬μš©ν•΄ 자λ₯Έλ‹€.

2. 그리고 λ°°μ—΄λ‘œ μ €μž₯된 값을 μ—­μˆœμœΌλ‘œ λ°”κΎΈκΈ° μœ„ν•΄ reverse ( ) ν•¨μˆ˜λ₯Ό μ μš©ν•œλ‹€.

3. 이후 join ( )을 μ‚¬μš©ν•΄ λ‹€μ‹œ λ¬Έμžμ—΄λ‘œ λ°˜ν™˜ν•œλ‹€. 

function firstReverse(str) {
// μž…λ ₯: str
// 좜λ ₯: μˆœμ„œκ°€ λ’€μ§‘νžŒ λ¬Έμžμ—΄

  return str.split('').reverse().join('');
}

 

πŸ’‘ μ•Œμ•„λ‘λ©΄ 쒋을 κ°œλ…

reverse ( )

reverse( ) λ©”μ†Œλ“œλŠ” λ°°μ—΄μ˜ μˆœμ„œλ₯Ό λ°˜μ „ν•œλ‹€. 첫 번재 μš”μ†ŒλŠ” λ§ˆμ§€λ§‰ μš”μ†Œκ°€ 되며, λ§ˆμ§€λ§‰ μš”μ†ŒλŠ” 첫 번째 μš”μ†Œκ°€ λœλ‹€. (좜처: mdn)

const a = [1, 2, 3];
console.log(a); // [1, 2, 3]

a. reverse();
console.log(a); // [3, 2, 1]

 

join ( )

join ( ) λ©”μ†Œλ“œλŠ” λ°°μ—΄μ˜ λͺ¨λ“  μš”μ†Œλ₯Ό μ—°κ²°ν•΄ ν•˜λ‚˜μ˜ λ¬Έμžμ—΄λ‘œ λ§Œλ“ λ‹€. (좜처: mdn)

const elements = ['Fire', 'Air', 'Water'];

console.log(elements.join()); // "Fire,Air,Water"
console.log(elements.join('')); // "FireAirWater"
console.log(elements.join('-')); // "Fire-Air-Water"

 

πŸ‘©πŸ»‍πŸ’» 배운 점

μ²˜μŒμ—” for loopλ₯Ό μ‚¬μš©ν•΄ 길게 μΌλŠ”λ°, reverse λ©”μ†Œλ“œλ₯Ό ν™œμš©ν•˜λ‹ˆ ν•œμ€„λ‘œ 끝났닀. λ©”μ†Œλ“œλ₯Ό 적절히 ν™œμš©ν•˜κΈΈ!