나만보는개발공부블로그

(String) Length of Last Word 본문

Algorithms/leetcode

(String) Length of Last Word

alexrider94 2021. 2. 8. 23:33

문제

문자열 s가 주어지고 각 단어들을 빈칸으로 구분지어지는경우 가장 마지막 단어의 문자의 길이를 반환하는 함수를 작성하자. 만약 마지막 단어가 존재하지않으면 0을 반환한다.

 

Example 1:

Input: s = "Hello World" Output: 5

Example 2:

Input: s = " " Output: 0

 

Constraints:

  • 1 <= s.length <= 104
  • s consists of only English letters and spaces ' '.
/**
 * @param {string} s
 * @return {number}
 */
var lengthOfLastWord = function (s) {
    let lastWord = s.trim().split(" ");
    return lastWord[lastWord.length - 1].length;
};

 

설명

- 문자열 내장함수의 trim과 split함수를 이용했다. trim함수로 바깥쪽 빈칸과 안쪽 빈칸들을 제거하고 split으로 내부 문자들을 빈칸으로 구분지어 나눠주어서 lastword라는 배열에 차례대로 들어가게된다.

그리고 마지막 문자의 길이를 반환하면 되니까 lastword의 lastword의 길이의 -1의 인덱스를 가져오고 그 length를 반환하면 성공한다.

 

- 테스트 케이스에 "a " , "b    a    " 이러한 테스트 케이스가 존재하는데 trim()함수로 "b   a"로 만들고 처리해서 자바스크립트 문자열 함수의 편리함을 알게 됬다. " " 빈 테스트 케이스의 경우 결국에는 length도 0이라서 따로 조건처리를 안해줘도 됬엇다.

 

- 정석으로 풀려면 iterator를 돌면서 빈칸체크를 count를 초기화 하고 문자열이 나오면 count를 하나씩 증가하도록 진행하면서 가장 높은 count값이 나올경우 그 값을 반환하면 될것같다.

'Algorithms > leetcode' 카테고리의 다른 글

merge-two-sorted-lists  (0) 2021.02.11
Climbing Stair  (0) 2021.02.10
Longest Common Prefix  (0) 2021.02.09
[Array] Plus One  (0) 2021.02.09
Two sum  (0) 2021.02.06