[前端刷題]透過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 安雅的雜談室
52會員
35內容數
紀錄所閱讀過的書籍,並經將書中精華寫成摘要,希望有助於大家對該書的快速的了解。更能迅速找到自己所喜愛的類型,用最簡短的時間了解作者欲傳達得意思。
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
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
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存在新的陣列。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News