[백준] 실버5 7785번 회사에 있는 사람 - Python
https://www.acmicpc.net/problem/7785
7785번: 회사에 있는 사람
첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는
www.acmicpc.net
문제
코드
맞았습니다가 뜬 코드입니다. - 메모리 55056KB | 시간 292ms | 코드 길이 304B
import sys
input = sys.stdin.readline
c = dict()
n = int(input().rstrip())
for _ in range(n):
N, S = map(str, input().rstrip().split())
if S == 'enter':
c[N] = 1
else:
c[N] = 0
c = dict(sorted(c.items(), reverse = True))
for k, v in c.items():
if v == 1:
print(k)
Try1.
시간 초과가 뜬 코드입니다. - 코드 길이 265B
import sys
input = sys.stdin.readline
c = list()
n = int(input().rstrip())
for _ in range(n):
N, S = map(str, input().rstrip().split())
if S == 'enter':
c.append(N)
else:
c.remove(N)
c.sort(reverse = True)
for name in c:
print(name)
- 해시를 사용하지 않아서 시간 초과가 났습니다. (리스트 사용함)
후기
전에 이 문제와 비슷한 카카오 문제를 친구와 봤던 기억이 나네요
오픈 채팅방에 들어갔다가 나오고 이름을 바꾸고 뭐 그런 문제였는데 나중에 그것도 풀어보면 좋겠습니다.
'코딩테스트' 카테고리의 다른 글
[백준] 2693번 N번째 큰 수 - Java (0) | 2023.05.23 |
---|---|
[백준] 1427번 소트인사이드 - Java (0) | 2023.05.23 |
[백준] 5635번 생일 - Python (0) | 2023.02.28 |
[백준] 1010번 다리 놓기 - Python (2) | 2023.02.27 |
[백준] 2581번 소수 - Python (0) | 2023.02.26 |