[LeetCode] Reverse Words in a String III

준규·2023년 3월 16일
0

1.문제


Given a string s, reverse the order of characters in each word within a sentence while still preserving whitespace and initial word order.


문자열 s 가 주어질 때 공백기준으로 각 단어들을 뒤집어서 리턴하는 문제이다. 공백 기준 각 단어의 순서는 변하지 않아야 한다.


Example 1

Input: s = "Let's take LeetCode contest"
Output: "s'teL ekat edoCteeL tsetnoc"

Example 2

Input: s = "God Ding"
Output: "doG gniD"

Constraints:

  • 1 <= s.length <= 5 * 10^4
  • s contains printable ASCII characters.
  • s does not contain any leading or trailing spaces.
  • There is at least one word in s.
  • All the words in s are separated by a single space.

2.풀이

  1. 문자열 s를 공백기준으로 나누어서 배열에 저장한다.
  2. 각 단어들을 뒤집는다.
  3. 뒤집은 단어들의 배열을 공백기준으로 이어서 문자열로 리턴한다.

/**
 * @param {string} s
 * @return {string}
 */
const reverseWords = function (s) {
  // 문자열 s를 공백기준으로 배열에 저장한다.
  const tokens = s.split(" ");
  const result = [];

  // 각 단어들을 뒤집은 후 뒤집은 단어를 result에 push 해준다
  tokens.forEach((token) => {
    let temp = token.split("");
    temp = temp.reverse().join("");
    result.push(temp);
  });

  // result 의 단어들을 공백기준으로 이어서 문자열로 리턴한다.
  return result.join(" ");
};

3.결과

profile
안녕하세요 :)

0개의 댓글