만드는 중입니다

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

행복 점수

면접 대비

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

요약
한 줄의 메시지에서 HAPPY와 SAD에 포함된 글자를 세어 행복 지수를 백분율로 소수점 둘째 자리까지 출력합니다.
난이도

쉬움10점 중 2점

유형
문자열, 구현
정답자
아직 제출이 없습니다

문제

코로나 19 이후 우울감에 빠진 소년 짐(Jim)은 세상의 모든 짐을 혼자 짊어진 느낌이다. 짐은 친구들의 행복 정도를 측정하고 싶어졌다. 그가 생각한 방법은 친구들이 보낸 문자 메시지를 분석해서 친구가 행복한지 판단하는 것이다. 메시지의 글자가 단어 HAPPY에 나타나면 그 글자는 행복한 글자이고, 단어 SAD에 나타나면 우울한 글자이다. 글자 A는 두 단어에 모두 나타나므로 행복하기도 하고 우울하기도 한 글자이다. 글자 B는 어느 단어에도 나타나지 않으므로 행복하지도 우울하지도 않은 글자이다.

메시지의 행복 지수는 행복 점수와 우울 점수로 계산한다. 행복한 글자가 나올 때마다 행복 점수 PHP_H를 1 올리고, 우울한 글자가 나올 때마다 우울 점수 PGP_G를 1 올린다. 행복 지수 HH는 다음 식으로 구한다.

H=PHPH+PGH = \frac{P_H}{P_H + P_G}

행복하지도 우울하지도 않은 글자는 PHP_H와 PGP_G 어느 쪽에도 세지 않는다. PH=PG=0P_H = P_G = 0이면 행복 지수는 0.50.5로 가정한다.

예를 들어 친구가 다음과 같은 메시지를 보냈다고 하자.

SAD MOVIES ALWAYS MAKE ME CRY

A는 SAD에 1번, ALWAYS에 2번, MAKE에 1번 나타나 모두 4번이고, Y는 ALWAYS와 CRY에 한 번씩 나타나 2번이다. 따라서 행복 점수는 6이다. S는 SAD, MOVIES, ALWAYS에 한 번씩 나타나 3번, A는 4번, D는 SAD에 1번 나타나므로 우울 점수는 8이다. PH=6P_H = 6, PG=8P_G = 8이므로 행복 지수는 H=614=0.4286H = \frac{6}{14} = 0.4286, 즉 42.86%이다. 행복 지수가 50%보다 낮으므로 이 친구는 우울한 상태이다.

입력

입력은 표준 입력으로 주어진다. 입력은 문자 메시지가 담긴 한 줄로 이루어진다. 메시지는 영문 대문자 단어로만 구성되며, 단어는 공백으로 구분된다. 단어의 최대 길이는 20이고, 최대 단어 수는 80이다.

출력

행복 지수를 백분율로 출력하되, % 기호는 출력하지 않는다. 소수점 이하 둘째 자리까지 반올림하여 출력한다. PHP_H와 PGP_G가 모두 0이면 행복 지수는 0.5이므로 50.00을 출력한다.

예제3

  1. 예제 1

    입력
    SAD MOVIES ALWAYS MAKE ME CRY
    
    예상 출력
    42.86
    
  2. 예제 2

    입력
    ICPC PROGRAMMING
    
    예상 출력
    75.00
    
  3. 예제 3

    입력
    WRITING
    
    예상 출력
    50.00