[ํ๋ก๊ทธ๋๋จธ์ค] ๐โโ๏ธ ์คํ ์ฑํ ๋ฐฉ - 2019 ์นด์นด์ค ๋ธ๋ผ์ธ๋ ์ฑ์ฉ / Python / KAKAO BLIND RECRUITMENT
๐โโ๏ธ ์คํ ์ฑํ ๋ฐฉ - 2019 ์นด์นด์ค ๋ธ๋ผ์ธ๋ ์ฑ์ฉ / Python /
KAKAO BLIND RECRUITMENT
๋ฌธ์ ์ค๋ช
์นด์นด์คํก ์คํ์ฑํ ๋ฐฉ์์๋ ์น๊ตฌ๊ฐ ์๋ ์ฌ๋๋ค๊ณผ ๋ํ๋ฅผ ํ ์ ์๋๋ฐ, ๋ณธ๋ ๋๋ค์์ด ์๋ ๊ฐ์์ ๋๋ค์์ ์ฌ์ฉํ์ฌ ์ฑํ ๋ฐฉ์ ๋ค์ด๊ฐ ์ ์๋ค.
์ ์ ์ฌ์์ธ ๊นํฌ๋ฃจ๋ ์นด์นด์คํก ์คํ ์ฑํ ๋ฐฉ์ ๊ฐ์คํ ์ฌ๋์ ์ํด, ๋ค์ํ ์ฌ๋๋ค์ด ๋ค์ด์ค๊ณ , ๋๊ฐ๋ ๊ฒ์ ์ง์ผ๋ณผ ์ ์๋ ๊ด๋ฆฌ์์ฐฝ์ ๋ง๋ค๊ธฐ๋ก ํ๋ค. ์ฑํ ๋ฐฉ์ ๋๊ตฐ๊ฐ ๋ค์ด์ค๋ฉด ๋ค์ ๋ฉ์์ง๊ฐ ์ถ๋ ฅ๋๋ค.
[๋๋ค์]๋์ด ๋ค์ด์์ต๋๋ค.
์ฑํ ๋ฐฉ์์ ๋๊ตฐ๊ฐ ๋๊ฐ๋ฉด ๋ค์ ๋ฉ์์ง๊ฐ ์ถ๋ ฅ๋๋ค.
[๋๋ค์]๋์ด ๋๊ฐ์ต๋๋ค.
์ฑํ ๋ฐฉ์์ ๋๋ค์์ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ด ๋ ๊ฐ์ง์ด๋ค.
์ฑํ ๋ฐฉ์ ๋๊ฐ ํ, ์๋ก์ด ๋๋ค์์ผ๋ก ๋ค์ ๋ค์ด๊ฐ๋ค.
์ฑํ ๋ฐฉ์์ ๋๋ค์์ ๋ณ๊ฒฝํ๋ค.
๋๋ค์์ ๋ณ๊ฒฝํ ๋๋ ๊ธฐ์กด์ ์ฑํ ๋ฐฉ์ ์ถ๋ ฅ๋์ด ์๋ ๋ฉ์์ง์ ๋๋ค์๋ ์ ๋ถ ๋ณ๊ฒฝ๋๋ค.
์๋ฅผ ๋ค์ด, ์ฑํ ๋ฐฉ์ 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 ํจ์๋ฅผ ์์ฑํ๋ผ.
์ ํ์ฌํญ
record๋ ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์์ด์ด ๋ด๊ธด ๋ฐฐ์ด์ด๋ฉฐ, ๊ธธ์ด๋ 1 ์ด์ 100,000 ์ดํ์ด๋ค.
๋ค์์ record์ ๋ด๊ธด ๋ฌธ์์ด์ ๋ํ ์ค๋ช ์ด๋ค.
- ๋ชจ๋ ์ ์ ๋ [์ ์ ์์ด๋]๋ก ๊ตฌ๋ถํ๋ค.
- [์ ์ ์์ด๋] ์ฌ์ฉ์๊ฐ [๋๋ค์]์ผ๋ก ์ฑํ ๋ฐฉ์ ์ ์ฅ - Enter [์ ์ ์์ด๋] [๋๋ค์] (ex. Enter uid1234 Muzi)
- [์ ์ ์์ด๋] ์ฌ์ฉ์๊ฐ ์ฑํ ๋ฐฉ์์ ํด์ฅ - Leave [์ ์ ์์ด๋] (ex. Leave uid1234)
- [์ ์ ์์ด๋] ์ฌ์ฉ์๊ฐ ๋๋ค์์ [๋๋ค์]์ผ๋ก ๋ณ๊ฒฝ - Change [์ ์ ์์ด๋] [๋๋ค์] (ex. Change uid1234 Muzi)
- ์ฒซ ๋จ์ด๋ Enter, Leave, Change ์ค ํ๋์ด๋ค.
- ๊ฐ ๋จ์ด๋ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋์ด ์์ผ๋ฉฐ, ์ํ๋ฒณ ๋๋ฌธ์, ์๋ฌธ์, ์ซ์๋ก๋ง ์ด๋ฃจ์ด์ ธ์๋ค.
- ์ ์ ์์ด๋์ ๋๋ค์์ ์ํ๋ฒณ ๋๋ฌธ์, ์๋ฌธ์๋ฅผ ๊ตฌ๋ณํ๋ค.
- ์ ์ ์์ด๋์ ๋๋ค์์ ๊ธธ์ด๋ 1 ์ด์ 10 ์ดํ์ด๋ค.
- ์ฑํ ๋ฐฉ์์ ๋๊ฐ ์ ์ ๊ฐ ๋๋ค์์ ๋ณ๊ฒฝํ๋ ๋ฑ ์๋ชป ๋ ์ ๋ ฅ์ ์ฃผ์ด์ง์ง ์๋๋ค.
๐ ๋์ ์ฝ๋
def solution(record):
answer = []
userDict = dict()
chatLog = []
enterMsg = "%s๋์ด ๋ค์ด์์ต๋๋ค."
exitMsg = "%s๋์ด ๋๊ฐ์ต๋๋ค."
for info in record:
infoLst = info.split(' ')
if infoLst[0] == 'Enter':
userDict[infoLst[1]] = infoLst[2]
chatLog.append([enterMsg,infoLst[1]])
elif infoLst[0] == 'Leave':
chatLog.append([exitMsg,infoLst[1]])
elif infoLst[0] == 'Change':
userDict[infoLst[1]] = infoLst[2]
for log in chatLog:
answer.append(log[0] % userDict[log[1]])
return answer
๋ฌธ์ ์ ์ง์๋๋ก ํ๋ฉด ๋๋ ๋ฌธ์ ์ ๋๋ค.
๋ ๊ฐ์ง์ ์๋ฃํ๋ง ์
๋ฐ์ดํธํ๋ฉด ๋๋ ๋ฐ, ๋ฐ๋ก uid
๋ฅผ key
๋กํ๊ณ ๊ทธ์ ๋์ํ๋ nickname
์ value
๋ก ์ ์ฅํ๋ ๋์
๋๋ฆฌ ์๋ฃํ์ธ userDict
์ ์คํ ์ฑํ
๋ฐฉ์ ๋ก๊ทธ๋ก ์ฐํ ๋ฆฌ์คํธ ์๋ฃํ์ธ chatLog
์
๋๋ค. ๊ฒฐ๊ณผ์ ํด๋นํ๋ chatLog
๋ ์
์ฅ, ํด์ฅ์ ๋ํ ์ ๋ณด์ uid
์ ๋ฐฐ์ด์ ๋ํ ์ ๋ณด๋ง ์ ์ฅํ๊ณ , ์ต์ข
์ ์ผ๋ก ์ถ๋ ฅ์์๋ ํด๋น uid
๋ฅผ userDict
์ key
๊ฐ์ธ uid
์ ํด๋นํ๋ nickname
๋ก ๋ฐ๊ฟ์ ์ถ๋ ฅํ๋๋กํ๋ฉด ๋ฌธ์ ๋ ๋ง๋ฌด๋ฆฌ๋ฉ๋๋ค.
'Algorithm > Problem Solving' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote
๋ค๋ฅธ ๊ธ
-
[ํ๋ก๊ทธ๋๋จธ์ค] ๐ ํ๋ณดํค - 2019 ์นด์นด์ค ๋ธ๋ผ์ธ๋ ์ฑ์ฉ / Python / KAKAO BLIND RECRUITMENT
[ํ๋ก๊ทธ๋๋จธ์ค] ๐ ํ๋ณดํค - 2019 ์นด์นด์ค ๋ธ๋ผ์ธ๋ ์ฑ์ฉ / Python / KAKAO BLIND RECRUITMENT
2019.02.06 -
[ํ๋ก๊ทธ๋๋จธ์ค] ๐ ์คํจ์จ - 2019 ์นด์นด์ค ๋ธ๋ผ์ธ๋ ์ฑ์ฉ / Python / KAKAO BLIND RECRUITMENT
[ํ๋ก๊ทธ๋๋จธ์ค] ๐ ์คํจ์จ - 2019 ์นด์นด์ค ๋ธ๋ผ์ธ๋ ์ฑ์ฉ / Python / KAKAO BLIND RECRUITMENT
2019.02.05 -
[ํ๋ก๊ทธ๋๋จธ์ค] ๐งถ ๋คํธ์ํฌ / python
[ํ๋ก๊ทธ๋๋จธ์ค] ๐งถ ๋คํธ์ํฌ / python
2019.02.05 -
[ํ๋ก๊ทธ๋๋จธ์ค] ๐คณ ๋ฐฉ๊ธ ๊ทธ ๊ณก - [3์ฐจ] 2018 ์นด์นด์ค ๋ธ๋ผ์ธ๋ ์ฑ์ฉ / Python
[ํ๋ก๊ทธ๋๋จธ์ค] ๐คณ ๋ฐฉ๊ธ ๊ทธ ๊ณก - [3์ฐจ] 2018 ์นด์นด์ค ๋ธ๋ผ์ธ๋ ์ฑ์ฉ / Python
2019.02.04