[HackerRank]寶石(Gemstones)

題目描述

約翰發現了各式各樣的岩石,每個岩石都是由多種元素組成,每種元素使用小寫英文字母來表示。一種元素可以用來重複組成同種岩石,而每個岩石都有的元素稱為「寶石元素」。給定一個N顆石頭的組成清單,請計算出其中的寶石元素數量。

原題網址

https://www.hackerrank.com/challenges/gem-stones

輸入格式

第一行為一個整數N,表示石頭的數量,範圍在1到100之間(包含1和100)。接下來的N行用小寫英文字母表示石頭的組成元素,每行的字元數量範圍在1到100之間(包含1和100)。

輸出格式

輸出寶石元素數量,如果沒有任何寶石元素,輸出0即可。

範例輸入

3
abcdde
baccd
eeabg

範例輸出

2

額外解釋

只有a和b兩種元素可在所有岩石中被找到,因此這堆石頭中有a和b兩個寶石元素。

解題概念

宣告一個長度為26的整數陣列,用來儲存26個字元在不同的岩石中出現的次數,且在同一顆岩石中重複出現的話只算一次。一開始先讀入整數N,接著再分別讀取N個岩石的組成資料。逐一測試26個字母在該顆岩石中有沒有出現過,如果有的話,整數陣列的中該字母的次數就要加一。加完所有N個岩石的結果之後,最後利用Java 8的串流過濾功能,輸出出現次數為N的陣列元素數量,即為寶石元素的數量。

參考答案

關於作者

Magic Len

Magic Len

各位好,我是Magic Len,是這網站的管理員。我是台灣台中大肚山上人,畢業於台中高工資訊科和台灣科技大學資訊工程系,曾在桃機航警局服役。我熱愛自然也熱愛科學,喜歡和別人分享自己的知識與經驗。如果你有興趣認識我,可以加我的Facebook,並且請註明是從MagicLen來的。

相關文章