質問失礼いたします。表題の通りjsでシステムを作っていた際に無限ループに入ってしまい、その原因と対処法がわからずにいます。原因と対処方法をご教授お願い申し上げます。
作りたいもの:
10, 11, 12 のように、1 の差で連続しているカードを 1 つのグループにする。例えば、5, 10, 11, 12, 24, 25 というカードがあったら「5」というグループと「10, 11, 12」というグループと「24, 25」というグループに分かれる。
・各グループのスコアは、グループ内の最大の数であり、総合スコアは各グループのスコアの和である。例えば上記の例では、「5」というグループのスコアは 5 で、「10, 11, 12」というグループのスコアは 12 で、「24, 25」というグループのスコアは 25 なので、総合スコアは 5+12+25 = 42 である。
上記のようなものを作成しております。
javascript
1let lines1 = ["6", "5 10 11 12 24 25"] 2 let arry1 = lines[1].split(" "); 3 let num1 = parseInt(arry1[0]); 4 for(let i = 1; i <= arry1.length; i++){ 5 arry1[i] = parseInt(arry1[i]); 6 if(arry1[i+1] == false){ 7 num1 += arry1[i]; 8 break; 9 }else if(arry1[i] - arry1[i-1] !== 1 && arry1[i] - arry1[i+1] !== 1){ 10 num1 = arry1[i]; 11 } 12 13 console.log(num1); 14 }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/02/17 21:29
2022/02/18 12:21
2022/02/19 06:39