ํ๋ก๊ทธ๋๋จธ์ค [lv1] ์์ฃผํ์ง ๋ชปํ ์ ์ ํ์ด์ฌ
2021. 6. 30. 21:41ใ๐ฑ Algorithm
๐ ์ ๊ทผ
1. ์ฐธ๊ฐ์์ ์์ฃผ์๋ฅผ ๊ฐ dictionary ์ ์ ์ฅ.
2. value ๊ฐ์ด 2 ์ด์ ๋์ค๋ key ๋, ๋์ผํ ์ด๋ฆ์ ์ฐธ๊ฐ์๊ฐ ์กด์ฌํ๋ค๋ ๋ป์ด๋ค.
3. ์ด ์ ์ ์ ์ํ์ฌ, ๋์ผํ key ์ ๋ํด ๊ฐ dictionary ์ value ๊ฐ์ด ๋์ผํ์ง, ๊ทธ๋ ์ง ์์์ง ์ฐพ์๋ธ๋ค.
# ํต๊ณผ
def solution(participant, completion):
answer = ''
parti = dict()
comple = dict()
for name in participant:
try:
parti[name] += 1
except KeyError:
parti[name] = 1
for name in completion:
try:
comple[name] += 1
except KeyError:
comple[name] = 1
for name in parti:
if parti[name] > 1:
if parti[name] == comple[name]:
pass
else:
answer = name
break
elif name not in comple:
answer = name
break
return answer
โ๏ธ ์ ์ ์ฌํญ
participant ๋ ์ต๋ 10๋ง์ด๋ฏ๋ก for ๋ฌธ์ ๊ทธ๋๋ก ๋๋ฆฌ๋ฉด ์๊ฐ์ด๊ณผ์ ๊ฐ๋ฅ์ฑ์ด ์๋ค. ์๋์ ํ์ด๋ participant ์์ ์ผ์ผ์ด ์์๋ฅผ ์ถ๋ ฅํ์ฌ, ์์ฃผ ์ฌ๋ถ๋ฅผ ์ฒดํฌํ๋๋ฐ ์ด๋ ์๊ฐ ์ด๊ณผ ์๋ฌ๋ฅผ ๋ฐ์์ํจ๋ค.
# ์ผ์ด์ค ํต๊ณผ/ ํจ์จ์ฑ ์คํจ
def solution(participant, completion):
comple = dict()
for name in completion:
try:
comple[name] += 1
except KeyError:
comple[name] = 1
for name in participant:
if name not in comple:
return name
if participant.count(name) != comple[name]:
return name
์ด ๋ฌธ์ ์ ํฌ์ธํธ๋ participant ์ ์ค๋ณต๋๋ ์์์ด๋ค.hash ๋ฅผ ์ด์ฉํ๋ฉด ์ค๋ณต์ ์ ๊ฑฐํ์ฌ ์ฐ์ฐํ ์ ์๊ธฐ ๋๋ฌธ์ ์๊ฐํจ์จ์ฑ์ ๊ทน๋ณตํ ์ ์๋ค.
'๐ฑ Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค [lv1] ์ ๊ท์์ด๋์ถ์ฒ (0) | 2021.07.22 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค [lv1] ์ซ์ ๋ฌธ์์ด๊ณผ ์๋จ์ด ํ์ด์ฌ (0) | 2021.07.21 |
ํ๋ก๊ทธ๋๋จธ์ค [lv3] ๊ฐ์ฅ ๊ธด ํฐ๋ฆฐ๋๋กฌ ํ์ด์ฌ (0) | 2021.05.27 |
ํ๋ก๊ทธ๋๋จธ์ค [lv2] ๋ฐฉ๊ธ ๊ทธ ๊ณก ํ์ด์ฌ (0) | 2021.05.22 |
[201018] ํ๋ก๊ทธ๋๋จธ์ค ๊ธฐ๋ฅ๊ฐ๋ฐ (0) | 2020.10.20 |