using
System;
using
System.Collections.Generic;
using
System.Linq;
class
imp3 {
class
pair : IComparable<pair> {
public
char
ch;
public
int
freq;
public
pair(
char
ch,
int
freq)
{
this
.ch = ch;
this
.freq = freq;
}
public
int
CompareTo(pair a)
{
return
a.freq -
this
.freq;
}
}
static
char
sortByFreq(
string
str,
int
k)
{
Dictionary<
char
,
int
> m =
new
Dictionary<
char
,
int
>();
for
(
int
i = 0; i < str.Length; ++i) {
char
ch = str[i];
int
freq = m.GetValueOrDefault(str[i], 0) + 1;
m[ch] = freq;
}
pair[] v =
new
pair[m.Count];
int
idx = 0;
foreach
(
char
ch
in
m.Keys) {
v[idx++] =
new
pair(ch, m[ch]);
}
Array.Sort(v);
int
count = 0;
for
(
int
i = 0; i < v.Length; i++) {
if
(i == 0 || v[i].freq != v[i - 1].freq)
count++;
if
(count == k)
return
v[i].ch;
}
return
'.'
;
}
static
void
Main(
string
[] args)
{
string
str =
"geeksforgeeks"
;
int
k = 3;
Console.WriteLine(sortByFreq(str, k));
}
}