728x90
[문제]
https://www.acmicpc.net/problem/7785
7785번: 회사에 있는 사람
첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는
www.acmicpc.net
[코드]
딕셔너리 이용
import sys
input = sys.stdin.readline
n = int(input())
log = {}
for i in range(n):
name, state = map(str, input().split())
log[name] = state
if state == 'leave':
del(log[name])
print('\n'.join(sorted(log, reverse=True)))
- log 라는 딕셔너리 정의 >> log = { }
- key: name, value: state로 딕셔너리에 추가
- state가 leave 면, 딕셔너리에서 삭제 (딕셔너리 삭제 방법: del, pop(삭제하고 값 반환) )
- del 딕셔너리명[key명] / 딕셔너리명.pop('key명')
- '\n' 구분자로, 역순으로 정렬된 (reverse=True) log 딕셔너리의 키값을 출력
반응형
'🚩 Coding Test > Baekjoon' 카테고리의 다른 글
[BOJ][Python] 13241 최소공배수 (0) | 2024.04.12 |
---|---|
[BOJ][Python] 1620 나는야 포켓몬 마스터 이다솜 (0) | 2024.04.11 |
[BOJ][Python] 14425 문자열 집합 (0) | 2024.04.11 |
[BOJ][Python] 10815 숫자 카드 (0) | 2024.04.11 |
[BOJ][Python] 18870 좌표 압축 (0) | 2024.04.11 |