이름별로 출입 기록을 시간 순으로 처리해 짝이 없는 퇴장과 짝이 없는 입장을 세어 초과근무 횟수를 구한다.
보통4해시맵스택문자열구현면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB영선회사는 야근이 매우 잦은 회사이다. 다행히 야근 수당은 챙겨 주지만, 사장 nein은 매우 악덕한 사장이라서 야근 수당을 최대한 덜 주려고 한다.
영선회사는 다음 방법으로 야근 여부를 판단한다. 매우 이른 아침부터 퇴근 시간까지의 출입 기록이 주어진다. 들어간 기록은 없는데 나온 기록이 있으면 회사에서 야근을 한 것으로 기록된다. 또 회사에 들어갔는데 퇴근 시간까지 나오지 않으면 이 역시 야근을 하는 것으로 기록된다. 출입 기록에 따라 두 기준을 모두 만족할 수도 있는데, 이때는 야근을 두 번 한 것으로 인정한다. 하지만 회사에 계속 있었더라도 나오거나 들어가지 않아서 출입 기록이 없다면 야근으로 인정하지 않는다.
이 출입 기록에는 치명적인 단점이 있는데, 동명이인을 구별하지 못한다는 것이다. 이름이 같으면 같은 사람으로 인식하며, 두 사람 모두 회사에 남아 있거나 두 사람 모두 들어간 기록 없이 나온 기록이 있는 경우처럼 명확히 드러날 때만 야근을 여러 번 인정한다.
정리하면, 이름마다 기록을 시간 순서대로 보면서 나온 기록을 그보다 앞선, 아직 짝이 없는 같은 이름의 들어간 기록과 짝짓는다. 짝이 없는 나온 기록 하나와 끝까지 짝이 없는 들어간 기록 하나가 각각 야근 한 번이다.
영선회사의 오늘 출입 기록이 주어진다. 이 기록을 바탕으로 모든 직원의 야근 횟수의 합을 출력하시오.
첫째 줄에 출입 기록의 개수 q가 주어진다. (1≤q≤100000)
다음 q개의 줄에는 이름 s와 출입 정보 p가 공백으로 구분되어 시간 순서대로 주어진다. p가 +이면 들어간 것이고, -이면 나간 것이다. 이름은 알파벳 소문자로만 이루어져 있고, 길이는 30자를 넘지 않는다.
출입 기록을 바탕으로 모든 직원의 야근 횟수의 합을 출력한다.