From 0fae9627dc44746370f99f9d9514e8ea31ff9e36 Mon Sep 17 00:00:00 2001
From: thinkasany <480968828@qq.com>
Date: Thu, 18 Apr 2024 10:15:17 +0800
Subject: [PATCH] feat: update ts solution to lcci problem: No.16.15

---
 lcci/16.15.Master Mind/README.md    | 8 ++++----
 lcci/16.15.Master Mind/README_EN.md | 8 ++++----
 lcci/16.15.Master Mind/Solution.js  | 8 ++++----
 3 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/lcci/16.15.Master Mind/README.md b/lcci/16.15.Master Mind/README.md
index 0f4bed11acc0d..a30f22b1109e9 100644
--- a/lcci/16.15.Master Mind/README.md	
+++ b/lcci/16.15.Master Mind/README.md	
@@ -108,16 +108,16 @@ var masterMind = function (solution, guess) {
     let counts2 = { R: 0, G: 0, B: 0, Y: 0 };
     let res1 = 0;
     for (let i = 0; i < solution.length; i++) {
-        let s1 = solution.charAt(i),
-            s2 = guess.charAt(i);
-        if (s1 == s2) {
+        let s1 = solution[i],
+            s2 = guess[i];
+        if (s1 === s2) {
             res1++;
         } else {
             counts1[s1] += 1;
             counts2[s2] += 1;
         }
     }
-    let res2 = ['R', 'G', 'B', 'Y'].reduce((a, c) => a + Math.min(counts1[c], counts2[c]), 0);
+    let res2 = Object.keys(counts1).reduce((a, c) => a + Math.min(counts1[c], counts2[c]), 0);
     return [res1, res2];
 };
 ```
diff --git a/lcci/16.15.Master Mind/README_EN.md b/lcci/16.15.Master Mind/README_EN.md
index cbaf67b0ff3fa..8b263d44cb88f 100644
--- a/lcci/16.15.Master Mind/README_EN.md	
+++ b/lcci/16.15.Master Mind/README_EN.md	
@@ -115,16 +115,16 @@ var masterMind = function (solution, guess) {
     let counts2 = { R: 0, G: 0, B: 0, Y: 0 };
     let res1 = 0;
     for (let i = 0; i < solution.length; i++) {
-        let s1 = solution.charAt(i),
-            s2 = guess.charAt(i);
-        if (s1 == s2) {
+        let s1 = solution[i],
+            s2 = guess[i];
+        if (s1 === s2) {
             res1++;
         } else {
             counts1[s1] += 1;
             counts2[s2] += 1;
         }
     }
-    let res2 = ['R', 'G', 'B', 'Y'].reduce((a, c) => a + Math.min(counts1[c], counts2[c]), 0);
+    let res2 = Object.keys(counts1).reduce((a, c) => a + Math.min(counts1[c], counts2[c]), 0);
     return [res1, res2];
 };
 ```
diff --git a/lcci/16.15.Master Mind/Solution.js b/lcci/16.15.Master Mind/Solution.js
index 22a81dc048538..25d080f665f82 100644
--- a/lcci/16.15.Master Mind/Solution.js	
+++ b/lcci/16.15.Master Mind/Solution.js	
@@ -8,15 +8,15 @@ var masterMind = function (solution, guess) {
     let counts2 = { R: 0, G: 0, B: 0, Y: 0 };
     let res1 = 0;
     for (let i = 0; i < solution.length; i++) {
-        let s1 = solution.charAt(i),
-            s2 = guess.charAt(i);
-        if (s1 == s2) {
+        let s1 = solution[i],
+            s2 = guess[i];
+        if (s1 === s2) {
             res1++;
         } else {
             counts1[s1] += 1;
             counts2[s2] += 1;
         }
     }
-    let res2 = ['R', 'G', 'B', 'Y'].reduce((a, c) => a + Math.min(counts1[c], counts2[c]), 0);
+    let res2 = Object.keys(counts1).reduce((a, c) => a + Math.min(counts1[c], counts2[c]), 0);
     return [res1, res2];
 };