단어 목록이 있다고 가정합니다. 이 단어는 여러 번 나타날 수 있습니다. 우리는 이러한 단어의 빈도를 보여주고 얼마나 많은 고유한 단어가 있는지 계산해야 합니다.
따라서 입력이 단어 =["Book", "Sound", "Language", "Computer", "Book", "Language"]와 같은 경우 출력은 (4, '2 1 2 1') 4개의 별개의 단어가 있기 때문에 첫 번째와 세 번째 단어가 두 번 발생했습니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- d:=삽입 주문에 따라 항목을 저장하는 OrderedDict
- 단어의 각 w에 대해 수행
- w가 d에 있으면
- d[w] :=d[w] + 1
- 그렇지 않으면
- d[w] :=1
- w가 d에 있으면
- d의 모든 키 목록 크기의 쌍으로 d의 모든 값을 문자열로 결합한 다음 반환합니다.
예시
더 나은 이해를 위해 다음 구현을 살펴보겠습니다.
from collections import OrderedDict def solve(words): d=OrderedDict() for w in words: if w in d: d[w] += 1 else: d[w] = 1 return len(d.keys()), ' '.join([str(d[k]) for k in d.keys()]) words = ["Book", "Sound", "Language", "Computer", "Book", "Language"] print(solve(words))
입력
["Book", "Sound", "Language", "Computer", "Book", "Language"]
출력
(4, '2 1 2 1')