/**
 * Given an array of domains, return the object with the appearances of the DNS.
 *
 * @param {Array} domains
 * @return {Object}
 *
 * @example
 * domains = [
 *  'code.yandex.ru',
 *  'music.yandex.ru',
 *  'yandex.ru'
 * ]
 *
 * The result should be the following:
 * {
 *   '.ru': 3,
 *   '.ru.yandex': 3,
 *   '.ru.yandex.code': 1,
 *   '.ru.yandex.music': 1,
 * }
 *
 */
function getDNSStats(domains) {
  // throw new Error('Not implemented');
  const obj = {};
  domains.forEach((item) => {
    let count = '';
    item
      .split('.')
      .reverse()
      .forEach((elem) => {
        count += `.${elem}`;
        obj[count] = obj[count] ? (obj[count] += 1) : 1;
      });
  });
  return obj;
}

module.exports = getDNSStats;
