[BOJ / Python] 7785 회사에 있는 사람

도니·2023년 4월 20일
0

BOJ / Python

목록 보기
95/104
post-thumbnail

문제

백준 7785 회사에 있는 사람

코드

import sys

n = int(sys.stdin.readline())
log = {}
for _ in range(n):
    name, status = sys.stdin.readline().split()
    if name in log:
        log.update({name: status})
    else:
        log[name] = status

result = []
for key, value in log.items():
    if value == 'enter':
        result.append(key)

result = reversed(sorted(result))
for x in result:
    print(x)

코드 설명
우선 딕셔너리 log에 직원의 이름을 key값으로, 직원의 출근 상태는 value값으로 입력한다.
만약 직원의 이름이 이미 딕셔너리에 있는 경우엔 해당 직원의 이름에 매칭되어있는 value값을 지금 입력된 값으로 갱신한다. 그렇지 않다면, 딕셔너리에 이름-상태 쌍을 추가로 넣어주면 된다.

출력할 결과값을 저장할 result 리스트를 선언한다.
딕셔너리 log에 들어있는 key값과 value값에 대해 만약 value값이 'enter'라면 그것에 매칭되어있는 key값을 리스트에 넣어준다.

문제에서 현재 회사에 있는 사람의 이름을 사전의 역순으로 출력하라고 하였으므로 sorted()를 사용하여 정렬한 다음 reversed()를 사용하여 역순으로 배열해준다. 그런 다음 한 줄에 하나씩 출력한다.

profile
안녕하세요, 🌱새싹개발자 도니💡입니다!

0개의 댓글

관련 채용 정보