์คํ์ฑํ ๋ฐฉ
์นด์นด์คํก ์คํ์ฑํ ๋ฐฉ์์๋ ์น๊ตฌ๊ฐ ์๋ ์ฌ๋๋ค๊ณผ ๋ํ๋ฅผ ํ ์ ์๋๋ฐ, ๋ณธ๋ ๋๋ค์์ด ์๋ ๊ฐ์์ ๋๋ค์์ ์ฌ์ฉํ์ฌ ์ฑํ ๋ฐฉ์ ๋ค์ด๊ฐ ์ ์๋ค.
์ ์ ์ฌ์์ธ ๊นํฌ๋ฃจ๋ ์นด์นด์คํก ์คํ ์ฑํ ๋ฐฉ์ ๊ฐ์คํ ์ฌ๋์ ์ํด, ๋ค์ํ ์ฌ๋๋ค์ด ๋ค์ด์ค๊ณ , ๋๊ฐ๋ ๊ฒ์ ์ง์ผ๋ณผ ์ ์๋ ๊ด๋ฆฌ์์ฐฝ์ ๋ง๋ค๊ธฐ๋ก ํ๋ค. ์ฑํ ๋ฐฉ์ ๋๊ตฐ๊ฐ ๋ค์ด์ค๋ฉด ๋ค์ ๋ฉ์์ง๊ฐ ์ถ๋ ฅ๋๋ค.
[๋๋ค์]๋์ด ๋ค์ด์์ต๋๋ค.
์ฑํ ๋ฐฉ์์ ๋๊ตฐ๊ฐ ๋๊ฐ๋ฉด ๋ค์ ๋ฉ์์ง๊ฐ ์ถ๋ ฅ๋๋ค.
[๋๋ค์]๋์ด ๋๊ฐ์ต๋๋ค.
์ฑํ ๋ฐฉ์์ ๋๋ค์์ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ด ๋ ๊ฐ์ง์ด๋ค.
- ์ฑํ ๋ฐฉ์ ๋๊ฐ ํ, ์๋ก์ด ๋๋ค์์ผ๋ก ๋ค์ ๋ค์ด๊ฐ๋ค.
- ์ฑํ ๋ฐฉ์์ ๋๋ค์์ ๋ณ๊ฒฝํ๋ค.
๋๋ค์์ ๋ณ๊ฒฝํ ๋๋ ๊ธฐ์กด์ ์ฑํ ๋ฐฉ์ ์ถ๋ ฅ๋์ด ์๋ ๋ฉ์์ง์ ๋๋ค์๋ ์ ๋ถ ๋ณ๊ฒฝ๋๋ค.
์๋ฅผ ๋ค์ด, ์ฑํ ๋ฐฉ์ Muzi์ Prodo๋ผ๋ ๋๋ค์์ ์ฌ์ฉํ๋ ์ฌ๋์ด ์์๋๋ก ๋ค์ด์ค๋ฉด ์ฑํ ๋ฐฉ์๋ ๋ค์๊ณผ ๊ฐ์ด ๋ฉ์์ง๊ฐ ์ถ๋ ฅ๋๋ค.
"Muzi๋์ด ๋ค์ด์์ต๋๋ค."
"Prodo๋์ด ๋ค์ด์์ต๋๋ค."
์ฑํ ๋ฐฉ์ ์๋ ์ฌ๋์ด ๋๊ฐ๋ฉด ์ฑํ ๋ฐฉ์๋ ๋ค์๊ณผ ๊ฐ์ด ๋ฉ์์ง๊ฐ ๋จ๋๋ค.
"Muzi๋์ด ๋ค์ด์์ต๋๋ค."
"Prodo๋์ด ๋ค์ด์์ต๋๋ค."
"Muzi๋์ด ๋๊ฐ์ต๋๋ค."
Muzi๊ฐ ๋๊ฐํ ๋ค์ ๋ค์ด์ฌ ๋, Prodo ๋ผ๋ ๋๋ค์์ผ๋ก ๋ค์ด์ฌ ๊ฒฝ์ฐ ๊ธฐ์กด์ ์ฑํ ๋ฐฉ์ ๋จ์์๋ Muzi๋ Prodo๋ก ๋ค์๊ณผ ๊ฐ์ด ๋ณ๊ฒฝ๋๋ค.
"Prodo๋์ด ๋ค์ด์์ต๋๋ค."
"Prodo๋์ด ๋ค์ด์์ต๋๋ค."
"Prodo๋์ด ๋๊ฐ์ต๋๋ค."
"Prodo๋์ด ๋ค์ด์์ต๋๋ค."
์ฑํ ๋ฐฉ์ ์ค๋ณต ๋๋ค์์ ํ์ฉํ๊ธฐ ๋๋ฌธ์, ํ์ฌ ์ฑํ ๋ฐฉ์๋ Prodo๋ผ๋ ๋๋ค์์ ์ฌ์ฉํ๋ ์ฌ๋์ด ๋ ๋ช ์ด ์๋ค. ์ด์ , ์ฑํ ๋ฐฉ์ ๋ ๋ฒ์งธ๋ก ๋ค์ด์๋ Prodo๊ฐ Ryan์ผ๋ก ๋๋ค์์ ๋ณ๊ฒฝํ๋ฉด ์ฑํ ๋ฐฉ ๋ฉ์์ง๋ ๋ค์๊ณผ ๊ฐ์ด ๋ณ๊ฒฝ๋๋ค.
"Prodo๋์ด ๋ค์ด์์ต๋๋ค."
"Ryan๋์ด ๋ค์ด์์ต๋๋ค."
"Prodo๋์ด ๋๊ฐ์ต๋๋ค."
"Prodo๋์ด ๋ค์ด์์ต๋๋ค."
์ฑํ ๋ฐฉ์ ๋ค์ด์ค๊ณ ๋๊ฐ๊ฑฐ๋, ๋๋ค์์ ๋ณ๊ฒฝํ ๊ธฐ๋ก์ด ๋ด๊ธด ๋ฌธ์์ด ๋ฐฐ์ด record๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋,
๋ชจ๋ ๊ธฐ๋ก์ด ์ฒ๋ฆฌ๋ ํ, ์ต์ข ์ ์ผ๋ก ๋ฐฉ์ ๊ฐ์คํ ์ฌ๋์ด ๋ณด๊ฒ ๋๋ ๋ฉ์์ง๋ฅผ ๋ฌธ์์ด ๋ฐฐ์ด ํํ๋ก return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํ๋ผ.
ํ์ด
def solution(re):
re = [l.split(' ') for l in re]
dic = {}
li = []
for w in re:
if w[0] == 'Enter' or w[0] == 'Change':
dic[w[1]] = w[2]
if w[0] == 'Enter':
li.append([w[1],'in'])
elif w[0] == 'Leave':
li.append([w[1],'out'])
for i in range(len(li)):
if li[i][1] == 'in':
li[i] = '{}๋์ด ๋ค์ด์์ต๋๋ค.'.format(dic[li[i][0]])
else :
li[i] = '{}๋์ด ๋๊ฐ์ต๋๋ค.'.format(dic[li[i][0]])
return li
ํ์ด๊ณผ์
๋ฌธ์์ด์ ๋ฆฌ์คํธ๋ก ๋ณํํ๋ค.
["Enter uid1234 Muzi", "Enter uid4567 Prodo"] -> [['Enter', 'uid1234', 'Muzi'], ['Enter', 'uid4567', 'Prodo']]
re = [l.split(' ') for l in re]
dic ์ key๊ฐ์ id๋ก, value๊ฐ์ ๋๋ค์์ผ๋ก ์ ์ฅํ๋ค.
li ์๋ ์ฑํ ๋ฐฉ์ ๋ํ๋๋ ๊ฐ์ ์ ์ฅํ๋ค. ์ด๋ li ์๋ ๋๋ค์๋ง๊ณ id๊ฐ์ ์ ์ฅํ๋ค.
dic = {}
li = []
Enter๊ณผ Change์ผ๋๋ง ๋๋ค์์ด ๋ฐ๋์ ์์ผ๋ฏ๋ก Enter๊ณผ Change์ผ๋ dic์ ๋๋ค์์ ์ ์ฅํ๋ค.
if w[0] == 'Enter' or w[0] == 'Change':
dic[w[1]] = w[2]
li ์ ์ฑํ ๋ฐฉ์ ๋ํ๋๋ ๊ฐ์ ์ ์ฅํ๋ค.
if w[0] == 'Enter':
li.append([w[1],'in'])
elif w[0] == 'Leave':
li.append([w[1],'out'])
li ์ ์ฑํ ์ฐฝ์ ๋ํ๋๋ ๋ฌธ์ฅ์ ์ ์ฅํ๋ฉด์ dic ์ key ๊ฐ๊ณผ ์ผ์นํ๋ id ๊ฐ์ ๋ํ value๋ฅผ ์ ์ฅํ๋ค.
for i in range(len(li)):
if li[i][1] == 'in':
li[i] = '{}๋์ด ๋ค์ด์์ต๋๋ค.'.format(dic[li[i][0]])
else :
li[i] = '{}๋์ด ๋๊ฐ์ต๋๋ค.'.format(dic[li[i][0]])
return li
'Developer > ๐ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค/python] ์์ถ (0) | 2020.07.08 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค/python] ์ ํ์ ์๊ฐ (0) | 2020.07.08 |
[ํ๋ก๊ทธ๋๋จธ์ค/python] ํ์ผ๋ช ์ ๋ ฌ (0) | 2020.07.08 |
[ํ๋ก๊ทธ๋๋จธ์ค/python] - ์์ด ๋๋ง์๊ธฐ (0) | 2020.06.28 |
[ํ๋ก๊ทธ๋๋จธ์ค/python] N๊ฐ์ ์ต์๊ณต๋ฐฐ์ (0) | 2020.06.27 |