넘치게 채우기

[LeetCode] 58. Length of Last Word 본문

PS/LeetCode

[LeetCode] 58. Length of Last Word

riveroverflow 2023. 6. 27. 21:52
728x90
반응형

https://leetcode.com/problems/length-of-last-word/description/?envType=study-plan-v2&envId=top-interview-150 

 

Length of Last Word - LeetCode

Can you solve this real interview question? Length of Last Word - Given a string s consisting of words and spaces, return the length of the last word in the string. A word is a maximal substring consisting of non-space characters only.   Example 1: Input:

leetcode.com

Leetcode - Length of Last Word

문제 유형 : 문자열 처리

문제 난이도 : Easy

 

문제

Given a string s consisting of words and spaces, return the length of the last word in the string.

A word is a maximal substring consisting of non-space characters only.

 

문자열의 마지막 단어의 길이를 구하시오. 단어는 공백이 없는 substring을 뜻합니다.

 

풀이

문자열을 0인덱스부터 탐색을 시작한다.

공백이 아니라면, length++를 시켜 단어의 길이를 측정한다.

공백을 만나면, length를 0으로 초기화시키고, length가 측정되었던 내역이 있는 경우(0이 아니면)에는 last_length에 값을 담는다.

문자열 탐색이 끝나면 length를 반환하거나, length의 값이 0이면 last_length의 값을 반환하면 된다.

 

다른 풀이)

맨 오른쪽부터 시작한다.

맨 오른쪽에서 첫 단어의 길이를 재서 반환하면 된다.

 

 

코드

C++

class Solution {
public:
    int lengthOfLastWord(string s) {
        int length = 0;
        int last_length = 0;
        for(int i = 0; i < s.size(); i++){
            if(s[i] != ' '){
                length++;
            }
            else{
                last_length = length == 0? last_length : length;
                length = 0;
            }
        }
        return length == 0? last_length : length;
    }
};
 
 
728x90
반응형