Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript로 문장의 모든 단어를 뒤집는 방법

문제 이해하기

문자열을 입력받아, 원본 문장에 포함된 모든 단어를 각각 뒤집은 새로운 문자열을 반환하는 JavaScript 함수를 작성해야 합니다.

예를 들어, 원본 문자열이 다음과 같다면 −

"Hello World how is it outside"

출력 결과는 다음과 같아야 합니다 −

"olleH dlroW woh si ti edistuo"

즉, 단어의 순서는 그대로 유지하되 각 단어 내부의 글자만 거꾸로 뒤집는 것이 핵심입니다.

코드 구현

이제 해당 기능을 수행하는 함수를 작성해 보겠습니다 −

const str = 'Hello World how is it outside';
const reverseSentence = str => {
    const arr = str.split(" ");
    const reversed = arr.map(el => {
        return el.split('').reverse().join("");
    });
    return reversed.join(" ");
};
console.log(reverseSentence(str));

동작 원리

위 코드가 작동하는 과정을 단계별로 살펴보면 다음과 같습니다.

  1. split(" "): 문장을 공백을 기준으로 분리하여 단어 배열을 만듭니다. 예: ['Hello', 'World', 'how', ...]
  2. map(): 배열의 각 단어를 순회하며 개별적으로 처리합니다.
  3. el.split('').reverse().join(''): 각 단어를 글자 단위로 쪼갠 뒤, 순서를 뒤집고 다시 하나의 문자열로 합칩니다. 예: 'Hello' → 'olleH'
  4. join(" "): 뒤집힌 단어들을 공백으로 연결하여 최종 문장을 완성합니다.

출력 결과

콘솔에 출력되는 결과는 다음과 같습니다 −

olleH dlroW woh si ti edistuo

이처럼 split, map, reverse, join 메서드만 활용하면 별도의 반복문 없이도 간결하고 가독성 좋게 문장의 모든 단어를 뒤집을 수 있습니다.