In this Print HackerEarth problem solution As a beginner to the programming, Mishki came to the HackerEarth platform, to become a better programmer. She solved some problems and felt very confident. Later being a fan of HackerEarth, she gave a problem to her friends to solve. They will be given a string containing only lower case characters (a-z), and they need to find that by using the characters of the given string, how many times they can print "HackerEarth"(without quotes). As they are new to the programming world, please help them.


HackerEarth Print hackerearth problem solution


HackerEarth Print HackerEarth problem solution.

#include <iostream>
#include <cstdio>
#include <cassert>
#include <string>
int fre[30];
using namespace std;
int main(int argc, char* argv[])
{

  int n;
  scanf("%d",&n);
  assert(n>=1 and n<=1e6);
  string st;
  cin>>st;
  
  for(int i=0;i<n;i++)
  {
    fre[st[i]-'a']++;
    assert(st[i]-'a'>=0 and st[i]-'a'<=25);
  }
  int mi = 1e6+5;
  for(int i=0;i<26;i++)
  {

    if(i+'a'=='h' or i+'a'=='e' or i+'a'=='r' or i+'a'=='a')
    {
      mi = min(mi, fre[i]/2);
    }
    else if(i+'a'=='c' or i+'a'=='k' or i+'a'=='t')
    {
      mi = min(mi, fre[i]);
    }
  }
  printf("%d\n",mi);
}