[LeetCode] Truncate Sentence

준규·2023년 2월 2일
0

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.풀이

  1. 공백을 기준으로 문자열을 잘라서 배열에 저장한다.
  2. 배열에서 k index 전까지 자른다.
  3. 자른 배열을 다시 공백을 넣어 문자열로 리턴한다.

/**
 * @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.결과

profile
안녕하세요 :)

0개의 댓글