Post

오픈채팅방 lv2       (2019 KAKAO BLIND RECRUITMENT)

🌈문제 링크

Desktop View

Desktop View

Desktop View

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
코드 1

def solution(record):
    answer = []
    dict = {}
    for message in record:
        message_split = message.split()
        if message_split[0] == 'Enter' or message_split[0] =='Change':
            dict[message_split[1]] = message_split[2]

		for message in record:
        message_split = message.split()
        if message_split[0] == 'Enter':
            answer.append(dict[message_split[1]]+"님이 들어왔습니다.")
        elif message_split[0] =='Leave':
            answer.append(dict[message_split[1]]+"님이 나갔습니다.")

    return answer

풀이 1

def solution(record): answer = [] dict = {}

answer을 빈 리스트로, dict는 빈 딕셔너리로 생성합니다

for message in record: message_split = message.split() if message_split[0] == 'Enter' or message_split[0] =='Change': dict[message_split[1]] = message_split[2]

  • <참고>를 보면 알 수 있듯이 공백을 포함하여 나누어야해서 split을 썼다.
  • 만약 나눈 3개의 문자 중에서 첫번째 문자가 Enter 혹은 Change면,

들어오거나 닉네임 변경한 유저를 같은 유저로 인식

(id 키를 가진 딕셔너리를 닉네임으로 바꾼다)

for message in record: message_split = message.split() if message_split[0] == 'Enter': answer.append(dict[message_split[1]]+"님이 들어왔습니다.") elif message_split[0] =='Leave': answer.append(dict[message_split[1]]+"님이 나갔습니다.")

return answer

  • 노란 형광표시 확인 —> 입출 형식만 있다.
  • answer에 append(추가)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def solution(record):
    answer = []
    dic = {}
    
    for message in record:
        message_split = message.split()
        if len(message_split) == 3:
            dic[message_split[1]] = message_split[2]
            
    for message in record:
        message_split = message.split()
        if message_split[0] == 'Enter':
            answer.append('%s님이 들어왔습니다.' %dic[message_split[1]])
        elif message_split[0] == 'Leave':
            answer.append('%s님이 나갔습니다.' %dic[message_split[1]])
            
    return(answer)

알게된 것

1
2
3
4
a = "개미"
print('%s가 들어왔다.' %a)

# 출력 --> 개미가 들어왔다.
This post is licensed under CC BY 4.0 by the author.
3D GIF