diff --git a/count-the-connected-components/index.js b/count-the-connected-components/index.js new file mode 100644 index 0000000..7cd5fc5 --- /dev/null +++ b/count-the-connected-components/index.js @@ -0,0 +1,13 @@ +// https://www.codewars.com/kata/count-the-connected-components + +const countDistricts = city => { + let distrCount = 0; + const distrMap = {}; + const markDistr = (place, distr) => { + if (place in distrMap) return; + distrMap[place] = distr; + city[place].map(place => markDistr(place, distr)); + }; + Object.keys(city).map((place, i) => markDistr(place, i)); + return new Set(Object.values(distrMap)).size; +};