오픈채팅방 lv2       (2019 KAKAO BLIND RECRUITMENT)
🌈문제 링크
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.