https://programmers.co.kr/learn/courses/30/parts/12077
[ ๋ฌธ์ ]
์๋ง์ ๋ง๋ผํค ์ ์๋ค์ด ๋ง๋ผํค์ ์ฐธ์ฌํ์์ต๋๋ค. ๋จ ํ ๋ช ์ ์ ์๋ฅผ ์ ์ธํ๊ณ ๋ ๋ชจ๋ ์ ์๊ฐ ๋ง๋ผํค์ ์์ฃผํ์์ต๋๋ค.
๋ง๋ผํค์ ์ฐธ์ฌํ ์ ์๋ค์ ์ด๋ฆ์ด ๋ด๊ธด ๋ฐฐ์ด participant์ ์์ฃผํ ์ ์๋ค์ ์ด๋ฆ์ด ๋ด๊ธด ๋ฐฐ์ด completion์ด ์ฃผ์ด์ง ๋, ์์ฃผํ์ง ๋ชปํ ์ ์์ ์ด๋ฆ์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
[ ์ ํ์ฌํญ ]
- ๋ง๋ผํค ๊ฒฝ๊ธฐ์ ์ฐธ์ฌํ ์ ์์ ์๋ 1๋ช ์ด์ 100,000๋ช ์ดํ์ ๋๋ค.
- completion์ ๊ธธ์ด๋ participant์ ๊ธธ์ด๋ณด๋ค 1 ์์ต๋๋ค.
- ์ฐธ๊ฐ์์ ์ด๋ฆ์ 1๊ฐ ์ด์ 20๊ฐ ์ดํ์ ์ํ๋ฒณ ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- ์ฐธ๊ฐ์ ์ค์๋ ๋๋ช ์ด์ธ์ด ์์ ์ ์์ต๋๋ค.
[ ์๊ณ ๋ฆฌ์ฆ ์ค๋ช ]
participant์ completion์ ์ํ๋ฒณ ์์ผ๋ก ์ ๋ ฌํ๋ค.
for๋ฌธ์ ์ด์ฉํด์ ์ฒ์๋ถํฐ ํ์ธ์ ํ๋๋ฐ, ๋ง์ง๋ง๊น์ง ๋ค๋ฅธ ๊ฒ์ ์ฐพ์ง ๋ชปํ๊ฑฐ๋, ์ค๊ฐ์ ๋ค๋ฅธ ์ด๋ฆ์ ์ฐพ๋๋ค๋ฉด ๊ทธ ์ด๋ฆ์ ๋ฆฌํดํ๋ค.
ํด์๋ฅผ ์ฌ์ฉํด์ผํ๋ ๋ฌธ์ ์ธ๋ฐ, ๋ฆฌ์คํธ๋ง์ผ๋ก ํ ์ ์์ ๊ฒ ๊ฐ์์ ๋ฆฌ์คํธ๋ง์ ์ด์ฉํ ๊ฒ, ๋์ ๋๋ฆฌ๋ฅผ ์ด์ฉํ ๋ฐฉ๋ฒ์ ํ์ด๋ณด์๋ค. ์๊ฐํ ์๊ณ ๋ฆฌ์ฆ์ด ๋๊ฐ์์ ๊ทธ๋ฐ์ง ์ฝ๋๋ ๋๊ฐ๋ค.
๋์ ๋๋ฆฌ๋ ๋ด๋ถ์ ์ผ๋ก ํด์ํจ์๊ฐ ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์, ํด์๋ฅผ ์ด์ฉํด์ ํผ ๊ฒ์ด๋ค.
#๊ทธ๋ฅ ๋ฆฌ์คํธ๋ก ํ์ด
def solution(participant, completion):
participant.sort()
completion.sort()
for i in range(len(participant)):
if i == len(participant)-1 or participant[i] != completion[i]:
return participant[i]
#๋์
๋๋ฆฌ(ํด์ฌ) ์ฌ์ฉํด์ ํ์ด
def solution(participant, completion):
participant.sort()
completion.sort()
last = len(participant) -1
p = dict()
c = dict()
for i in range(last):
p[i] = participant[i]
c[i] = completion[i]
p[last] = participant[-1]
for i in range(last+1):
if i == last or p[i] != c[i]:
return p[i]
'Algorithm > PROGRAMMERS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค "๊ธฐ๋ฅ๊ฐ๋ฐ" [์๊ณ ๋ฆฌ์ฆ/์คํ/ ํ/ ์ฝ๋ฉํ ์คํธ ์ฐ์ต/ ํ์ด์ฌ(python)] (0) | 2021.07.04 |
---|