K. Однофамильцы

Начальник кадровой службы хочет выяснить, сколько мужчин-однофамильцев работает в организации. У него есть список фамилий, и на основании этого списка нужно вычислить количество фамилий, которые совпадают с другими

Формат ввода

В первой строке указывается количество мужчин — сотрудников организации (N).
Затем идут N строк с фамилиями этих сотрудников в произвольном порядке.

Формат вывода:

Количество однофамильцев в организации.

Пример

Ввод

6
Иванов
Петров
Сидоров
Петров
Иванов
Петров

Вывод

5

Ввод

3
Иванов
Петров
Сидоров

Вывод

0

Решение

Накапливаем фамилии в частотный словарь, затем считаем количество элементов, значение которых больше единицы.

Посмотреть код

Решение

Python
namesakes = {}

for _ in range(int(input())):
    name = input()
    namesakes[name] = namesakes.get(name, 0) + 1

count = 0
for name in namesakes:
    if namesakes[name] > 1:
        count += namesakes[name]

print(count)
Подписаться
Уведомить о
guest
1 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Niko
Niko
28.02.2025 15:16

Решение с помощью списка и множества.
x = int(input())
s = set()
lst = list()
counter_f = 0

for i in range(x):
    y = input()
    s.add(y)
    lst.append(y)
    
for j in s:
    counter_e = 0
    for k in lst:
        if j == k:
            counter_e += 1
    if counter_e == 1:
        counter_f += 0
    else:
        counter_f += counter_e
print(counter_f)