
silver 5 / 해시
python에서는 딕셔너리나 집합을 사용하여 문제를 해결할 수 있다.
내 경우는 집합을 사용하였다.
만약 집합에 없는 이름이라면 추가하고, 있는 이름이라면 삭제한다.
물론 이 풀이는 status가 이상한 입력(출근하지 않았는데 퇴근한다든지, 출근하고 다시 출근한다든지)이 들어오지 않는다는 전제 하에 정상작동한다.
집합에 남아있는 이름들을 역순으로 정렬하여 출력한다.
# 회사에 있는 사람
# hash
import sys
input = sys.stdin.readline
if __name__ == "__main__":
n = int(input())
log = set()
for i in range(n):
name, status = input().split()
if name in log:
log.remove(name)
else:
log.add(name)
answer = '\n'.join(sorted(list(log), reverse=True))
print(answer)
어렵진 않았지만 해시라는 자료구조를 알고나서 풀어보니 python에 dictionary, set이 있음에 감사하다..