iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 11
0

題目:
(6 級) Detect Pangram
pangram (全字母句) 是指含有 a~z 所有字母的句子。
給予一個 string,檢測該 string 是否為 pangram,並回傳 truefalse

範例:
"The quick brown fox jumps over the lazy dog" => true

思考方式:

  1. 先做出一個含有所有字母的陣列 alphabets
  2. 依序檢測 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;
}

上一篇
高高低低起起伏伏,人生阿~
下一篇
測智商囉~
系列文
Codewar 進進出出 JS/Ruby30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言