1.문제
A sentence is a list of words that are separated by a single space with no leading or trailing spaces. Each of the words consists of only uppercase and lowercase English letters (no punctuation).
- For example, "Hello World", "HELLO", and "hello world hello world" are all sentences.
You are given a sentence s and an integer k. You want to truncate s such that it contains only the first k words. Return s after truncating it.
하나의 공백으로 구분되어있는 문자열이 주어질 때 k번째 단어 앞까지의 문자열을 리턴하는 문제이다.
Example 1
Input: s = "Hello how are you Contestant", k = 4
Output: "Hello how are you"
Explanation:
The words in s are ["Hello", "how" "are", "you", "Contestant"].
The first 4 words are ["Hello", "how", "are", "you"].
Hence, you should return "Hello how are you".
Example 2
Input: s = "What is the solution to this problem", k = 4
Output: "What is the solution"
Explanation:
The words in s are ["What", "is" "the", "solution", "to", "this", "problem"].
The first 4 words are ["What", "is", "the", "solution"].
Hence, you should return "What is the solution".
Example 3
Input: s = "chopper is not a tanuki", k = 5
Output: "chopper is not a tanuki"
Constraints:
- 1 <= s.length <= 500
- k is in the range [1, the number of words in s].
- s consist of only lowercase and uppercase English letters and spaces.
- The words in s are separated by a single space.
- There are no leading or trailing spaces.
2.풀이
- 공백을 기준으로 문자열을 잘라서 배열에 저장한다.
- 배열에서 k index 전까지 자른다.
- 자른 배열을 다시 공백을 넣어 문자열로 리턴한다.
/**
* @param {string} s
* @param {number} k
* @return {string}
*/
const truncateSentence = function (s, k) {
// 공백을 기준으로 잘라서 배열에 저장한다
const array = s.split(" ");
// 배열의 처음부터 k 번째 단어 앞까지 잘라서 저장한다
const sliceArray = array.slice(0, k);
// 공백을 넣어서 문자열로 리턴한다
return sliceArray.join(" ");
};
3.결과
