์ฝํ
์ค๋น
ํ๋ก๊ทธ๋๋จธ์ค. ์์ฃผํ์ง ๋ชปํ ์ ์
์๋๋ค
2023. 1. 24. 16:16
https://school.programmers.co.kr/learn/courses/30/lessons/42576
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
# 50์ . ์๊ฐ์ด๊ณผ๋ ์ฝ๋
def solution(participant, completion):
answer = ''
ans = {}
for i in participant:
if i in ans:
ans[i] += 1
else :
ans[i] = 1
if i in completion:
del ans[i]
del completion[completion.index(i)]
return ''.join(ans.keys())
์ ์ฝ๋๋ ์ ํ์ฑ์ ๋ค ๋ง์์ง๋ง, ์๊ฐ์ด๊ณผ๊ฐ ๋ ์ฝ๋์ด๋ค.
del์ ์๊ฐ๋ณต์ก๋๊ฐ O(N)์ด๋ผ์ ๊ทธ๋ฐ ๊ฒ ๊ฐ๋ค
ํ ๋ค์ ์๊ฐํด๋ด์ผ๊ฒ ๋ค.
def solution(participant, completion):
answer = ''
ans = {}
for i in participant:
if i in ans:
ans[i] += 1
else :
ans[i] = 1
for i in completion:
if i in ans.keys():
ans[i] -= 1
k = [key for key,val in ans.items() if val==int(max(ans.values()))]
return ''.join(k)
๋ง์ฐฌ๊ฐ์ง๋ก ์๊ฐ ์ด๊ณผ..
def solution(participant, completion):
answer = ''
ans = {}
for i in participant:
if i in ans:
ans[i] += 1
else :
ans[i] = 1
for i in completion :
if ans[i]==1 :
del ans[i]
else : #๋๋ช
์ด์ธ ๊ฒฝ์ฐ
ans[i] -=1
return ''.join(ans.keys())
์๋ ๋๋ช ์ด์ธ์ผ ๋ 1์ฉ ๋นผ์ฃผ๊ณ , 1์ธ ๊ฒฝ์ฐ๋ ๋๋ช ์ด์ธ์ด ์๋ค๋ ๋ป์ผ๋ก ์์ฃผ์ ๋ชฉ๋ก์ ์์ ๊ฒฝ์ฐ ์์ ์ญ์ ํด์ฃผ์๋ค.