https://school.programmers.co.kr/learn/courses/30/lessons/178871
๐ ๋ฌธ์
๐ซ ์ ํ ์ฌํญ
โ๏ธ ์ ์ถ๋ ฅ
๐ก ํ์ด
์ฒ์์๋ res ๋ฆฌ์คํธ ์ ์ธ๊ณผ callings์ ๋ฐ๋ณต๋ฌธ ๋๋ฌธ์ ์๊ฐ์ด๊ณผ ๊ฐ ๋์๋ค.
์ฝ๋๋ฅผ ์๋ฌด๋ฆฌ ๊ฐ๊ฒฐํ๊ฒ ์ง๋ ์๊ฐ์ด๊ณผ ๊ฐ ๋์ค๊ธธ๋ ๋ค๋ฅธ ์ ๋ต์ ๋ถ๋ค์ ํ์ด๋ฅผ ์ฐธ๊ณ ํด๋ณด๋ ๊ฑฐ์ ๋๋ถ๋ถ์ res๋ฅผ ๋์ ๋๋ฆฌ๋ก ์ ๊ทผ์ ํ๋ค.
res๋ฅผ ๋์ ๋๋ฆฌ๋ก ๋ณ๊ฒฝํ ๊ฒ ์ธ์๋ ์๊ฐํ ์๊ณ ๋ฆฌ์ฆ์ด ๋ง์๋ค. python์์ ์ฌ์ฉํ ์ ์๋ swap์ ํ์๋ค.
def solution(players, callings):
res = {player: i for i, player in enumerate(players)}
for i in callings:
idx = res[i]
res[i] -= 1
res[players[idx-1]] += 1
players[idx-1], players[idx] = players[idx], players[idx-1]
return players
728x90