티스토리 뷰

SMALL

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

word is a maximal 

substring

 consisting of non-space characters only.

 

첫 번째

일단 풀었는데, runtime이 2ms라서 다시 풀어야한다. runtime 0ms되기까지!

class Solution {
    public int lengthOfLastWord(String s) {
        String[] words = s.trim().split("\\s+");
        int count = words.length;
        String res = words[count-1];
        return res.length();
    }
}

 

 

두 번째

 결국 다른 분꺼 참고해서 풀었다. 마지막 단어 인덱스만 구하면 되었으므로 마지막 단어 맨 뒤 인덱스랑 맨 앞 인덱스를 찾아서 뒤 인덱스 - 앞 인덱스를 빼주면된다.

class Solution {
    public int lengthOfLastWord(String s) {
        int i = s.length() - 1;

        while(i>=0 && s.charAt(i) == ' ') --i;    
        final int lastIndex = i;    // 마지막 단어 맨 뒤

        while(i>=0 && s.charAt(i) != ' ') --i;  // 마지막 단어 맨 앞

        return lastIndex - i;
    }
}

 

반응형
LIST
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함