#はじめに
こんばんは.
M1就活生がLeetCodeから,easy問題を中心にPythonを用いて解いていきます.
↓では,解いた問題のまとめを随時更新しています.
まとめ記事
#問題
今回解いたのは,難易度easyから 問題58のLength of Last Word です.
問題としては,スペースで区切られた単語からなる文字列s
に含まれる,最後の単語の文字列長を返すというもの.なお,最後の単語が存在したん場合は0を返します.
入力例と出力例は以下の通りです.
Example 1:
Input: s = "Hello World"
Output: 5
Example 2:
Input: s = " "
Output: 0
#書いたコード
書いたコードが以下になります.まず,文字列s
を,split()
を用いて単語からなるリストにします.split()
では,引数に区切り文字を指定することができますが,引数に何も渡さない場合,スペースでの区切りになります.リスト内に何も存在しない(単語が存在しない)場合,0を返します.最後は,スライスを用いてリストの最後の単語を取り出し,その長さを返します.
class Solution:
def lengthOfLastWord(self, s: str) -> int:
s_words_list = s.split()
if not s_words_list:
return 0
last_word = s_words_list[-1]
return len(last_word)
#おわりに
今回解いた問題は2〜3行でも記述できると思います(その場合は可読性が落ちるけど...).
また,今回の問題は英語での入力が想定されており,Pythonを使うと簡単に解くことができました.英語はスペースで区切って文章を書きますが,日本語など分かち書きされていない言語でチャレンジするのも面白いと思います.
今回書いたコードはGitHubにもあげておきます.