[BOJ/python] 7785: 회사에 있는 사람

songeunm·2024년 9월 22일

PS - python

목록 보기
6/62
post-thumbnail

문제

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이 있음에 감사하다..

profile
데굴데굴 구르는 개발자 지망생

0개의 댓글