[Boj문제풀이]

[Boj/백준] 7785 Python

ki7348 2021. 8. 18. 08:52

문제출처: https://www.acmicpc.net/problem/7785

7785번: 회사에 있는 사람

첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는

www.acmicpc.net


1. 문제 접근 방식
enter인 경우 append메소드를 사용해 배열에 삽입했고
leave인 경우 remove메소드를 사용해 배열에서 해당 원소를 제거했다.


2. 내가 푼 코드

import sys case = int(sys.stdin.readline()) arr=[] for i in range(case): x,y = map(str,sys.stdin.readline().split()) if y == 'enter': arr.append(x) else: arr.remove(x) arr.sort() arr.reverse() for i in arr: print(i)


3. 결과 및 느낀점
remove메소드 pop메소드 del메소드차이점에 대해 확실하게 정리를 해두는 것이 필요하다.
remove : 해당 element의 값으로 삭제.
pop : 해당 element의 인덱스로 삭제 및 반환
del : 해당 element의 인덱스로 삭제, 슬라이싱으로도 삭제가 가능하다. ex) del list_x[:]

'[Boj문제풀이]' 카테고리의 다른 글

[Boj/백준] 4889 Python  (0) 2021.08.21
[Boj/백준] 14425 Python  (0) 2021.08.20
[Boj/백준] 1543 Python  (0) 2021.08.19
[Boj/백준] 1316 Python  (0) 2021.08.18
[Boj/백준] 2941 Python  (0) 2021.08.18