Kata Practice - String ends with? (JavaScript)
這個系列會把自己練習過的 Kata 題目記錄下來,希望除了記錄的性質以外也能夠觀察自己撰寫程式邏輯的進化過程。如果有幸看到這邊的話也可以參考一下,再到 Codewars 的網站註冊一個帳號試著玩看看,自己蠻喜歡整個網站的得分和排行榜設定,會讓人越寫越有成就感喔!
題目
Complete the solution so that it returns true if the first argument(string) passed in ends with the 2nd argument (also a string).
1 | solution('abc', 'bc') // returns true |
自己的解法
1 | const solution = (str, ending) => { |
解題脈絡
原本想說用迴圈比較最後面的字串,但寫不出來之後貼去 ChatGPT 問了一下,結果得到的回覆是:函式的目的似乎是要檢查字串 str 是否以 ending 結尾,但程式碼卻做了相反的事情。
我真的傻眼!哈哈哈哈哈 要被自己笑死了
所以後來我看他的解法,覺得我可以理解他的解法:先將兩個字串的長度個別算出來後,將 str 多出的 character 移除掉後,就可以直接拿來跟 ending 字串做比較了!
其他人的解法
1 | function solution(str, ending){ |
選擇記錄這個解法的原因
對!又是一個看了 solution 後發現原來 JavaScript 早就有提供這樣的 function 了 ^_^
希望這樣的練習多多增加自己對 JavaScript 原生處理字串的 function 更熟悉或更了解一些。
觀念釐清
現在寫題目的目的比較不像一開始一定要完全靠自己解出來,畢竟在這個 AI 工具跟 LLM 語言模型快速發展的年代,懂得如何應用這些工具加快我解題的速度也是一種能力的。大家也可以在練習 Kata 的過程中多多加強自己應用這些工具的經驗值喔!
那我們就下次見ʘ‿ʘ