https://www.acmicpc.net/problem/7785

import sys
input = sys.stdin.readline
people_list = {}
for i in range(int(input())):
a,b = map(str,input().split())
if b != "leave":
people_list[a] = b
else:
del people_list[a]
people_list = sorted(people_list.keys(), reverse=True)
print(*people_list, sep="\n")
사전 순이라고 해서 A a B b 이런 순으로 정렬해야 하는 줄 알았는데 아스키코드 순으로 정렬하면 되는 거였다..그래서 그냥 reverse=True를 설정해 주면 되었다.
예제가 너무 적어서 헷갈렸다..
딕셔너리를 이용하여 풀이하였다.
처음에는 set을 이용하여 enter와 leave목록을 만들어서 서로 빼주려고 했는데 시간초과가 났다.
sorted(people_list.keys(), reverse=True)로 key값들만 리스트로 반환해 준 후, 역순으로 정렬하였다.
print(*people_list, sep="\n") 로 한 줄에 한 요소만 출력되게 하였다.
| [파이썬/python] 프로그래머스 : 체육복 (Lv.1) (0) | 2023.04.07 |
|---|---|
| [파이썬/python] 프로그래머스 : 완주하지 못한 선수 (Lv.1) (0) | 2023.04.06 |
| [파이썬/python] 백준 2903번 : 중앙 이동 알고리즘(🥉3) (0) | 2023.04.03 |
| [파이썬/python] 백준 2720번 : 세탁소 사장 동혁(🥉3) (0) | 2023.04.03 |
| [파이썬/python] 프로그래머스 : 점프와 순간 이동 (Lv.2) (0) | 2023.03.31 |