[前端刷題]透過JS二維陣列橫縱列解躲鬼小遊戲

更新 發佈閱讀 5 分鐘

這次的題目是個九宮格小遊戲,透過二維陣列橫縱列來解題,陣列裡面0代表的就是鬼屋,要避免住到鬼屋以及鬼屋下面,所以要從colum欄 row列一一去算,如遇到了就要跳過,並將其餘可住的數值都加總起來,答案就解開了。所以帶大家看看簡單的二維陣列怎麼解,怎麼寫可以取想取的數值,就一起來看看吧!

題目

After becoming famous, the CodeBots decided to move into a new building together. Each of the rooms has a different cost, and some of them are free, but there's a rumour that all the free rooms are haunted! Since the CodeBots are quite superstitious, they refuse to stay in any of the free rooms, or any of the rooms below any of the free rooms.

Given matrix, a rectangular matrix of integers, where each value represents the cost of the room, your task is to return the total sum of all rooms that are suitable for the CodeBots (ie: add up all the values that don't appear below a 0).

範例

raw-image


raw-image


Input/Output

  • [execution time limit] 4 seconds (js)
  • [input] array.array.integer matrixA 2-dimensional array of integers representing the cost of each room in the building. A value of 0 indicates that the room is haunted.Guaranteed constraints:
    1 ≤ matrix.length ≤ 5,
    1 ≤ matrix[i].length ≤ 5,
    0 ≤ matrix[i][j] ≤ 10.
  • [output] integerThe total price of all the rooms that are suitable for the CodeBots to live in.

解題

function solution(matrix) {
let rowLength = matrix.length;
let ghost=[];
let ans=0;
if(rowLength>0){
let columLength = matrix[0].length;
for(let i = 0; i < rowLength; i++){
for(let j = 0; j < columLength; j++){
if(!ghost.includes(j)){
if(matrix[i][j]===0){
ghost.push(j);
}else{
ans +=matrix[i][j];
}}}}}
return ans;
}

想法

先宣告rowLength列為一維陣列的長度,以及ghost為鬼屋處,以及答案值ans

並進行兩次迴圈判斷,收先如果rowLength數組的長度大於0,那就開啟以下條件,讓columLength欄等於總欄位長度,設定外層迴圈為i內圈迴圈為j,外層會透過迴圈去跑每個列,內圈則是透過迴圈去每個欄。

如果鬼屋不包含某欄中,又如果matrix[i][j]某列中的某欄值為0,那就將它塞進鬼屋Array陣列當中。否則,就將剩下的的數值都加總起來,其數值等於答案ans。

由於是刷題練習比較嚴格,要注意跑雙迴圈時,跑的時間有沒有超過題目限制的時間,如果跑太久超過了,那也會被判斷是錯誤喔!

歡迎大家留言互相交流~







留言
avatar-img
留言分享你的想法!
avatar-img
Anya 安雅的雜談室
55會員
37內容數
紀錄所閱讀過的書籍,並經將書中精華寫成摘要,希望有助於大家對該書的快速的了解。更能迅速找到自己所喜愛的類型,用最簡短的時間了解作者欲傳達得意思。
2023/09/14
今天要來開箱介紹頂規等級的俗稱大F的FILCO最新版無線式機械鍵盤,就外觀以及功能方面做個簡單就體驗說明,有興趣的朋友們趕快來看看吧!
Thumbnail
2023/09/14
今天要來開箱介紹頂規等級的俗稱大F的FILCO最新版無線式機械鍵盤,就外觀以及功能方面做個簡單就體驗說明,有興趣的朋友們趕快來看看吧!
Thumbnail
2023/04/27
我是一名30歲轉職工程師的女子,希望能將我的轉職經驗分享給同樣有此想法的朋友們,大家互相交流其中的辛酸甜苦辣!
Thumbnail
2023/04/27
我是一名30歲轉職工程師的女子,希望能將我的轉職經驗分享給同樣有此想法的朋友們,大家互相交流其中的辛酸甜苦辣!
Thumbnail
2023/04/07
本文題目來自網站codesignal,它是個可依自己選取的程式語言進行測驗,測驗難易程度會逐題增加,可透過解題來獲得分數以及徽章,相當有趣味性。在sumbit後可在左欄看到票選最高的解法,這些解法來自不同語言,當然你可以在上面篩選自己撰寫的程式語言。沒有所謂的最好的解法,只有最適合的方式。
Thumbnail
2023/04/07
本文題目來自網站codesignal,它是個可依自己選取的程式語言進行測驗,測驗難易程度會逐題增加,可透過解題來獲得分數以及徽章,相當有趣味性。在sumbit後可在左欄看到票選最高的解法,這些解法來自不同語言,當然你可以在上面篩選自己撰寫的程式語言。沒有所謂的最好的解法,只有最適合的方式。
Thumbnail
看更多
你可能也想看
Thumbnail
嶄新的台灣獨立調香師品牌Sunkronizo ,這個名稱源自希臘語「同步」的意思。讓香氛不單純只是氣味調製,更是個人風格的展現與靈魂意志延伸的一種溝通語言。 很適合接下來年底聖誕佳節送禮的試香組,以一星期中的日子來為全系列香氛產品命名, 是品牌創立後首個推出全系列概念作品...
Thumbnail
嶄新的台灣獨立調香師品牌Sunkronizo ,這個名稱源自希臘語「同步」的意思。讓香氛不單純只是氣味調製,更是個人風格的展現與靈魂意志延伸的一種溝通語言。 很適合接下來年底聖誕佳節送禮的試香組,以一星期中的日子來為全系列香氛產品命名, 是品牌創立後首個推出全系列概念作品...
Thumbnail
根據美國電影協會(MPA)主辦的「串流服務如何推動臺灣創意經濟」論壇內容,深入探討串流平臺對臺灣影視產業的影響、數據分析、政府政策建議、內容國際化策略,以及臺灣與「韓流」的差距。文章提出 awwrated 在串流生態系中的潛在角色,強調數據、策略與自信是臺灣影視產業發展的關鍵。
Thumbnail
根據美國電影協會(MPA)主辦的「串流服務如何推動臺灣創意經濟」論壇內容,深入探討串流平臺對臺灣影視產業的影響、數據分析、政府政策建議、內容國際化策略,以及臺灣與「韓流」的差距。文章提出 awwrated 在串流生態系中的潛在角色,強調數據、策略與自信是臺灣影視產業發展的關鍵。
Thumbnail
本文探討串流平臺(VOD)如何徹底改變好萊塢和臺灣影視產業的生態。從美國電影協會(MPA)的數據報告,揭示串流服務在臺灣的驚人普及率與在地內容的消費趨勢。文章分析國際作品如何透過在地化元素開拓新市場。同時,作者也擔憂政府過度監管可能扼殺臺灣影視創新自由,以越南為鑑,呼籲以開放態度擁抱串流時代的新機遇
Thumbnail
本文探討串流平臺(VOD)如何徹底改變好萊塢和臺灣影視產業的生態。從美國電影協會(MPA)的數據報告,揭示串流服務在臺灣的驚人普及率與在地內容的消費趨勢。文章分析國際作品如何透過在地化元素開拓新市場。同時,作者也擔憂政府過度監管可能扼殺臺灣影視創新自由,以越南為鑑,呼籲以開放態度擁抱串流時代的新機遇
Thumbnail
題目敘述 House Robber III 題目會給我們一個二元樹, 二元樹裡的每個節點分別代表每棟房屋的價值,也就是房屋內有的現金數量。 題目敘述給的情境是假想盜賊要偷東西,限制是上下相鄰樓層的兩棟房屋不能一起偷,只能選擇其中一棟,否則就會觸發警報器。 請問盜賊可以得手的最大金額是多少?
Thumbnail
題目敘述 House Robber III 題目會給我們一個二元樹, 二元樹裡的每個節點分別代表每棟房屋的價值,也就是房屋內有的現金數量。 題目敘述給的情境是假想盜賊要偷東西,限制是上下相鄰樓層的兩棟房屋不能一起偷,只能選擇其中一棟,否則就會觸發警報器。 請問盜賊可以得手的最大金額是多少?
Thumbnail
題目會給我們一個nums陣列,分別代表每棟房屋的價值,也就是房屋內有的現金數量。 題目敘述給的情境是假想盜賊要偷東西,限制是相鄰的兩棟房屋不能一起偷,只能選擇其中一棟,否則就會觸發警報器。第一棟和最後一棟也被視為相鄰。 請問怎麼選擇哪幾棟房屋下手,可以
Thumbnail
題目會給我們一個nums陣列,分別代表每棟房屋的價值,也就是房屋內有的現金數量。 題目敘述給的情境是假想盜賊要偷東西,限制是相鄰的兩棟房屋不能一起偷,只能選擇其中一棟,否則就會觸發警報器。第一棟和最後一棟也被視為相鄰。 請問怎麼選擇哪幾棟房屋下手,可以
Thumbnail
題目敘述 題目會給定我們一個二元矩陣grid,要求我們計算這個矩陣的Difference值,並且以矩陣的形式返回答案。 對於grid[i][j] 的Difference值定義 = 同一個row i裡面 1的數目 + 同一個column j裡面 1的數目 - 同一個row i裡面 0的數目
Thumbnail
題目敘述 題目會給定我們一個二元矩陣grid,要求我們計算這個矩陣的Difference值,並且以矩陣的形式返回答案。 對於grid[i][j] 的Difference值定義 = 同一個row i裡面 1的數目 + 同一個column j裡面 1的數目 - 同一個row i裡面 0的數目
Thumbnail
題目:給定一個由 1 和 0 組成的數組,將等效的二進位值轉換為整數。 例如:[0, 0, 0, 1] 被視為 0001,即 1 的二進位表示法。
Thumbnail
題目:給定一個由 1 和 0 組成的數組,將等效的二進位值轉換為整數。 例如:[0, 0, 0, 1] 被視為 0001,即 1 的二進位表示法。
Thumbnail
題目會給我們一個排序好的矩陣matrix ,和一個目標值 target 要求我們在矩陣中尋找target,如果存在,返回True。 如果target 不存在,返回False 題目要求必須在O( log (m*n) )對數時間內完成 。
Thumbnail
題目會給我們一個排序好的矩陣matrix ,和一個目標值 target 要求我們在矩陣中尋找target,如果存在,返回True。 如果target 不存在,返回False 題目要求必須在O( log (m*n) )對數時間內完成 。
Thumbnail
Codewars 是個程式練習網站,筆者主要練習的是 JavaScript,會記錄自己的解法,並參考其他人的寫法來改善自己的程式碼,那麼我們就開始吧!
Thumbnail
Codewars 是個程式練習網站,筆者主要練習的是 JavaScript,會記錄自己的解法,並參考其他人的寫法來改善自己的程式碼,那麼我們就開始吧!
Thumbnail
Two Sum : 在Array中找出相加後與Target相同的兩個數字,並將他們的index存在新的陣列。
Thumbnail
Two Sum : 在Array中找出相加後與Target相同的兩個數字,並將他們的index存在新的陣列。
Thumbnail
本遊戲為李國賢老師所研發,已經出版專書一套四冊。若你對此遊戲或數學有興趣,請跟我聯繫:ligosan2008@gmail.com。
Thumbnail
本遊戲為李國賢老師所研發,已經出版專書一套四冊。若你對此遊戲或數學有興趣,請跟我聯繫:ligosan2008@gmail.com。
Thumbnail
一起來透過Java Script來解題二為陣列的躲鬼屋小遊戲吧!
Thumbnail
一起來透過Java Script來解題二為陣列的躲鬼屋小遊戲吧!
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News