알고리즘/백준
[백준] 7785. 회사에 있는 사람 /Python
빙빙
2021. 5. 5. 20:21
n = int(input())
#딕셔너리로 받아서 value를 enter면 1을 넣고 leave면 0으로 바꾼다.
#최종으로 1이 있는 키 출력
room = {}
for tc in range(1,n+1):
name,value = input().split()
if value == 'enter':
room[name] = 1
else:
room[name] = 0
res = []
for key,value in room.items():
if value == 1:
#사전 순의 역순으로 한 줄에 한 명씩 출력
res.append(key)
res.sort(reverse=True)
for i in range(len(res)):
print(res[i])
저번에 풀었던 9375_패션왕 신해빈에서 딕셔너리를 이용해 풀었던 것이 생각나서 바로 풀었다.
이름을 key로 받고 enter또는 leave를 value값으로 받아서 enter이면 1로 저장하고 leave이면 0으로 저장했다.
그러고 바로 출력해봤더니 조건이 하나 더 있었다. 사람의 이름을 사전 순의 역순으로 출력을 해야한다는 점이다.
그래서 value가 1이면 enter라고 저장되어있는 사람이니까 그 key값을 새로운 리스트res에 저장해줬다.
그리고 res리스트에 대해서 sort함수를 내림차순으로 사용했다.
출력은 res의 개수만큼 반복문으로 하나씩 출력했다.