내 코드
def solution(record):
answer = []
people = {}
position = {"Enter":"들어왔습니다.","Leave":"나갔습니다."}
for re in record:
arr = re.split()
if arr[0] != "Leave":
people[arr[1]] = arr[2]
for re in record:
arr = re.split()
if arr[0] in position:
answer.append(people[arr[1]]+"님이 "+position[arr[0]])
return answer
딕셔너리를 사용해서 풀었다!! leave가 아니라면 people에 이름을 계속 갱신시켜준다.
이름을 다 바꿨으면 answer리스트를 만들어서 답을 리턴한다.
다른사람 코드
def solution(record):
answer = []
namespace = {}
printer = {'Enter':'님이 들어왔습니다.', 'Leave':'님이 나갔습니다.'}
for r in record:
rr = r.split(' ')
if rr[0] in ['Enter', 'Change']:
namespace[rr[1]] = rr[2]
for r in record:
if r.split(' ')[0] != 'Change':
answer.append(namespace[r.split(' ')[1]] + printer[r.split(' ')[0]])
return answer
내꺼랑 완전 비슷함!!!!
'코딩테스트 > Python' 카테고리의 다른 글
[프로그래머스] 튜플 - 작성중 (0) | 2021.09.09 |
---|---|
[프로그래머스] 영어 끝말잇기 (0) | 2021.09.09 |
[프로그래머스] 문자열 압축 (0) | 2021.09.08 |
[프로그래머스] 짝지어 제거하기 (0) | 2021.09.08 |
[프로그래머스] 스킬트리 (0) | 2021.09.07 |