만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

해시태그 세기

시간 제한2초메모리 제한1024 MB

요약
공백으로 나뉜 단어 중 #으로 시작하고 다른 #이 없는 해시태그를 찾아 종류별 등장 횟수를 세어 출력합니다.
난이도

쉬움10점 중 3점

유형
해시맵, 문자열
정답자
아직 제출이 없습니다

문제

디마는 새로운 유행 소셜 네트워크를 개발하고 있다. 그는 텍스트를 처리하고 그 안에 있는 서로 다른 해시태그의 개수를 세는 모듈을 작성하려고 한다.

텍스트는 영어 소문자, 숫자, 문자 #, 공백으로 이루어진다. 단어는 왼쪽과 오른쪽이 각각 공백이나 텍스트의 시작 또는 끝으로 구분된, 연속된 공백이 아닌 문자열이다. 단어의 길이가 22 이상이고, 첫 번째 문자가 #이며, 나머지 문자가 모두 #이 아니면 해시태그이다.

디마는 텍스트에 나타나는 서로 다른 해시태그를 세고, 그것들을 출력하며, 각각이 몇 번 나타나는지도 출력하려고 한다.

입력

입력은 위에서 설명한 형식의 텍스트가 담긴 한 줄이다. 텍스트의 길이는 100 000100\,000을 넘지 않는다. 텍스트에는 공백이 연속으로 여러 개 있을 수 있으며, 줄의 처음이나 끝에 공백이 있을 수도 있다.

출력

첫 줄에는 텍스트에 나타나는 서로 다른 해시태그의 개수 nn을 출력한다. 다음 nn개의 줄에는 해시태그와 그것이 나타나는 횟수를 출력한다. 해시태그는 어떤 순서로 출력해도 된다.

예제3

  1. 예제 1

    입력
    i have brought #peace #freedom #justice and #security to my new empire
    
    예상 출력
    4
    #freedom 1
    #justice 1
    #peace 1
    #security 1
    
  2. 예제 2

    입력
    #to #be #or #not #to #be
    
    예상 출력
    4
    #be 2
    #not 1
    #or 1
    #to 2
    
  3. 예제 3

    입력
    #ioip# #2021 #03#28
    
    예상 출력
    1
    #2021 1