-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathg_wardrobe.py
47 lines (39 loc) · 1.92 KB
/
g_wardrobe.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
"""
Рита решила оставить у себя одежду только трёх цветов: розового, жёлтого и
малинового. После того как вещи других расцветок были убраны,
Рита захотела отсортировать свой новый гардероб по цветам. Сначала должны
идти вещи розового цвета, потом —– жёлтого, и в конце —– малинового. Помогите
Рите справиться с этой задачей.
Примечание: попробуйте решить задачу за один проход по массиву!
Формат ввода
В первой строке задано количество предметов в гардеробе: n –— оно не
превосходит 1000000. Во второй строке даётся массив, в котором указан цвет
для каждого предмета. Розовый цвет обозначен 0, жёлтый —– 1, малиновый –— 2.
Формат вывода
Нужно вывести в строку через пробел цвета предметов в правильном порядке.
Ввод
7
0 2 1 2 0 0 1
Вывод
0 0 0 1 1 2 2
"""
# Сортировка подсчетом
def counting_sort(array, k=3):
if len(array) == 0:
print(*array)
counted_values = [0] * k
counted_values[0] = array.count(0)
counted_values[1] = array.count(1)
counted_values[2] = array.count(2)
# for value in array:
# counted_values[value] += 1
index = 0
for value in range(k):
for _ in range(0, counted_values[value]):
array[index] = value
index += 1
print(*array)
if __name__ == '__main__':
_ = int(input())
array = [int(num) for num in input().split(' ')]
counting_sort(array)