๋ฌธ์
์๋ง์ ๋ง๋ผํค ์ ์๋ค์ด ๋ง๋ผํค์ ์ฐธ์ฌํ์์ต๋๋ค. ๋จ ํ ๋ช ์ ์ ์๋ฅผ ์ ์ธํ๊ณ ๋ ๋ชจ๋ ์ ์๊ฐ ๋ง๋ผํค์ ์์ฃผํ์์ต๋๋ค.
๋ง๋ผํค์ ์ฐธ์ฌํ ์ ์๋ค์ ์ด๋ฆ์ด ๋ด๊ธด ๋ฐฐ์ด participant์ ์์ฃผํ ์ ์๋ค์ ์ด๋ฆ์ด ๋ด๊ธด ๋ฐฐ์ด completion์ด ์ฃผ์ด์ง ๋, ์์ฃผํ์ง ๋ชปํ ์ ์์ ์ด๋ฆ์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ ์ฌํญ
- ๋ง๋ผํค ๊ฒฝ๊ธฐ์ ์ฐธ์ฌํ ์ ์์ ์๋ 1๋ช ์ด์ 100,000๋ช ์ดํ์ ๋๋ค.
- completion์ ๊ธธ์ด๋ participant์ ๊ธธ์ด๋ณด๋ค 1 ์์ต๋๋ค.
- ์ฐธ๊ฐ์์ ์ด๋ฆ์ 1๊ฐ ์ด์ 20๊ฐ ์ดํ์ ์ํ๋ฒณ ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- ์ฐธ๊ฐ์ ์ค์๋ ๋๋ช ์ด์ธ์ด ์์ ์ ์์ต๋๋ค.
for loop๋ฅผ ํ์ฉํ ์ฝ๋
def solution(participant, completion):
# completion ๊ณผ participant ๋ฐฐ์ด์ sorting ํ๋ค.
completion.sort()
participant.sort()
# len(completion) ๋งํผ ๋๋ฉด์ ๊ฐ์ index์ ๋ค๋ฅธ ๋จ์ด๊ฐ ๋์ฌ์์ผ๋ฉด ๊ทธ๋์ participant๊ฐ์ด ๋ต์ด๋ค.
for i in range(len(completion)):
if completion[i] != participant[i]:
return participant[i]
# ๋ง์ฝ len(completion) ๊ธธ์ด๋งํผ ๋์๋๋ฐ๋ ๋ต์ด ์์ผ๋ฉด participant์ ๋ง์ง๋ง ์์๊ฐ ๋ต์ด๋ค.
return participant[-1]
๋ถ์ > ์ด ์ฝ๋๋ ๋ ๋ฐฐ์ด์ sort ํ์ ๋ ๊ฐ์ index์ ๋ค๋ฅธ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ์ participant ๊ฐ์ด ์์ฃผํ์ง ๋ชปํ ์ ์์ด๊ณ , ๊ทธ๋ฆฌ๊ณ ์๋ฌด๋ฆฌ ๋ฐ๋ณต๋ฌธ์ ๋์๋ completion ๋ง์ง๋ง ์์์ index๊ธฐ์ค์ผ๋ก ๋ชจ๋ ๊ฐ์ด ๊ฐ๋ค๋ฉด participant์ ๋จ์ ๋ง์ง๋ง ๊ฐ์ด ๋ต์ด ๋๋ค๋ ์๋ฆฌ๋ฅผ ์ด์ฉํ ์ฝ๋์ด๋ค.
hash ๋ฅผ ์ฌ์ฉํ ์ฝ๋
def solution(participant, completion):
# participant ๋ฆฌ์คํธ์ ํด์๋ฅผ ๊ตฌํ๊ณ hash ๊ฐ์ ๋ํ๋ค.
hash_map = {}
sumHash = 0
for part in participant:
hash_map[hash(part)] = part
sumHash += hash(part)
# completion ๋ฆฌ์คํธ์ ํด์๋ฅผ ๋นผ์ค๋ค.
for comp in completion:
sumHash -= hash(comp)
# ๋จ์ ๊ฐ์ด ์์ฃผํ์ง ๋ชปํ ์ ์์ hash ๊ฐ์ด ๋๋ค.
return hash_map[sumHash]
๋ถ์ > ์ด ์ฝ๋๋ฅผ ๋ณด๊ธฐ ์ ๊น์ง ๋๋ ๋น์ฐํ ์ ์๋ค์ ์ด๋ฆ์ key ๊ฐ์ผ๋ก ๋ณด๋ด๊ณ value๊ฐ์๋ ๋ด๊ฐ ์์๋ก ์ง์ ํ 1๊ฐ์ ๋ฃ์๋๋ฐ, ์ด ์ฝ๋๋ฅผ ๋ณด๊ณ ๊ฐ ์ ์์ ์ด๋ฆ์ value ๊ฐ์ผ๋ก ๋ณด๋ด๋ฉด participant์ ํด์ ๋ฒํธ์ ์ดํฉ์์ completion์ ํด์ ๋ฒํธ์ ์ดํฉ์ ๋บ ํด์๊ฐ์ด ์์ฃผํ์ง ๋ชปํ ์ ์์ ํด์๊ฐ์ด ๋ ์ ์๋ค๋ ๊ฒ์ ์์๋ค.
'Algorithm > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Programmers] ํผ๋ณด๋์น ์ (0) | 2022.04.14 |
---|---|
[Programmers] ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ (0) | 2022.04.13 |
[Programmers] ์ ํ๋ฒํธ ๋ชฉ๋ก (0) | 2022.04.13 |
[Programmers] ๊ธฐ๋ฅ๊ฐ๋ฐ (0) | 2022.04.13 |
[Programmers] ์ต๋๊ฐ๊ณผ ์ต์๊ฐ (0) | 2022.04.12 |