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.풀이
- 문자열 s를 공백기준으로 나누어서 배열에 저장한다.
- 각 단어들을 뒤집는다.
- 뒤집은 단어들의 배열을 공백기준으로 이어서 문자열로 리턴한다.
/**
* @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.결과