題目:
(6 級) Detect Pangram
pangram (全字母句) 是指含有 a~z 所有字母的句子。
給予一個 string
,檢測該 string
是否為 pangram,並回傳 true
或 false
。
範例:"The quick brown fox jumps over the lazy dog" => true
思考方式:
alphabets
alphabets
中的每個字母是否存在參數 string
當中Ruby 解法:
def panagram?(string)
# 先做出包含所有字母的陣列 alphabets
alphabets = [*"a".."z"]
# 把參數 string 先全部轉成小寫
# 然後把每個字母拿出來檢測
string.downcase.each_char { |char|
# 刪除掉 alphabets 中有出現的字母 char
alphabets.delete(char)
}
# 最後回傳 alphabets 是否為空陣列
alphabets.empty?
end
JavaScript 解法:
function isPangram(string){
// 先做出包含所有字母的陣列 alphabets
let alphabets = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "z"];
// 把參數 string 先全部轉成小寫
let lowerStr = string.toLowerCase();
// 用 for loop 把 alphabets 中的每個字母拿出來比對
for (let i = 0; i < alphabets.length; i++) {
// 檢測 alphabets 中的每個字母是否有包含在 lowerStr 中
if (lowerStr.indexOf(alphabets[i]) < 0) {
// 沒有的話就回傳 false
return false;
}
}
// 都有的話回傳 true
return true;
}