[Code Kata] 2019년 1차 코딩테스트

do yeon kim·2022년 8월 30일
0
2019년 1차 코딩테스트

input
["Enter uid1234 Muzi", "Enter uid4567 Prodo", "Leave uid1234", "Enter uid1234 Prodo", "Change uid4567 Ryan"]

output:
["Prodo님이 들어왔습니다.", "Ryan님이 들어왔습니다.", "Prodo님이 나갔습니다.", "Prodo님이 들어왔습니다."]

닉네임이 변경되었을 경우는 이미 기존에 존재하는 이전의 닉네임 모두 변경해서 표시하게 코드를 구현해라



record = ["Enter uid1234 Muzi",\
        "Enter uid4567 Prodo",\
        "Leave uid1234",\
        "Enter uid1234 Prodo",\
        "Change uid4567 Ryan"]

def solution(record):
    result = []
    user_id = {} # userid와 nickname을 딕셔너리 형태로 저장
	
    # 먼저 for문을 돌면서 Enter와 Change에 해당하는 userid와 nickname을 저장
    for i in range(len(record)):
        temp_list = record[i].split()

        if temp_list[0] == "Enter" or temp_list[0] == "Change":
            user_id[temp_list[1]] = temp_list[2]

	# 두번째 for문을 돌면서 조건에 따라서 출력문을 결과 리스트에 저장
    for i in range(len(record)):
        temp_list = record[i].split()

        if temp_list[0] == "Enter":
            
            test = f"{user_id[temp_list[1]]}님이 들어왔습니다."    
            result.append(test)
    
        elif temp_list[0] =="Leave":
            test = f"{user_id[temp_list[1]]}님이 나갔습니다."    
            result.append(test)
        
        
    return result
a = solution(record)
print(a)






0개의 댓글