Problemsolving Log (Codeforces 1914A)
Tags: Implement, strings

Monocarp is participating in a programming contest, which features $$$26$$$ problems, named from 'A' to 'Z'. The problems are sorted by difficulty. Moreover, it's known that Monocarp can solve problem 'A' in $$$1$$$ minute, problem 'B' in $$$2$$$ minutes, ..., problem 'Z' in $$$26$$$ minutes.After the contest, you discovered his contest log — a string, consisting of uppercase Latin letters, such that the $$$i$$$-th letter tells which problem Monocarp was solving during the $$$i$$$-th minute of the contest. If Monocarp had spent enough time in total on a problem to solve it, he solved it. Note that Monocarp could have been thinking about a problem after solving it.Given Monocarp's contest log, calculate the number of problems he solved during the contest.

Input: The first line contains a single integer $$$t$$$ ($$$1 \le t \le 100$$$) — the number of testcases.The first line of each testcase contains a single integer $$$n$$$ ($$$1 \le n \le 500$$$) — the duration of the contest, in minutes.The second line contains a string of length exactly $$$n$$$, consisting only of uppercase Latin letters, — Monocarp's contest log.

Output: For each testcase, print a single integer — the number of problems Monocarp solved during the contest.


Sample Inputs:
3
6
ACBCBC
7
AAAAFPC
22
FEADBBDFFEDFFFDHHHADCC

Sample Outputs:
3
1
4

Solution (Python):
from collections import Counter
tests = int(input())
for _ in range(tests):
    _ = input()
    problems = input().strip()
    solve_times = Counter(problems)
    result = 0
    for (letter, qty) in solve_times.items():
        result += qty >= 1 + ord(letter) - ord('A')
    print(result)

Solution (Python):
tc = int(input())
for _ in range(tc):
    n = int(input())
    st = input()
    di = {}
    for ch in st:
        if di.get(ch):
            di[ch] += 1
        else:
            di[ch] = 1
    cnt = 0
    for (key, value) in di.items():
        if ord(key) % 64 <= value:
            cnt += 1
    print(cnt)

Solution (Python):
n = int(input())
for j in range(n):
    dur = int(input())
    st = input()
    set1 = set(st)
    ust = ''.join(set1)
    ans = 0
    for i in ust:
        if len(st) == dur:
            cou = st.count(i)
            if cou // (ord(i) - 64) >= 1:
                ans += 1
    print(ans)