다른사람의 풀이 버튼은 클릭하기 망설여지는 버튼이다. 다른 사람이 풀은 코드를 보면 내가 과연 코딩에 적성이 잘 맞는지 항상 의구심을 가지게 된다. 제대로 풀지 못함에 대한 아쉬움과 더 좋은 코드를 생각해내지 못하는 내 두뇌에 대한 가여움이 뒤섞여 당장이라도 그만두고 싶다.
하지만 내 코드만을 고집하며 문제를 계속해서 풀면 어떠한 발전도 없을 것 같기에 오늘도 난 다른 사람의 풀이를 공부한다.
단 10줄로 이 문제를 풀 수 있다니...
오늘도 한발자국 정도는 배움이 있었겠지 생각하며 글을 적는다.
def solution(players, callings):
pla_dic = {key: i for i, key in enumerate(players)}
for p in callings:
c = pla_dic[p]
pla_dic[p] -= 1
pla_dic[players[c-1]] += 1
players[c-1], players[c] = players[c], players[c-1]
return players
players = ["mumu","soe","poe","kai","mine"]
pla_dic = {"mumu":0,"soe":1,"poe":2,"kai":3,"mine":4}
callings = [kai,kai,mine,mine] 이므로
for문의 첫 번째 p는 kai다.
c = pla_dic[kai] =3
pla_dic[kai] -= 1 의 결과는
pla_dic = {"mumu":0,"soe":1,"poe":2,"kai":2,"mine":4}
pla_dic[players[2]]
= pla_dic["poe"] += 1 의 결과는
pla_dic = {"mumu":0,"soe":1,"poe":3,"kai":2,"mine":4}
players[2],players[3] = players[3], players[2] 의 결과는
["mumu","soe","kai","poe","mine"]
for문의 두 번째 p는 kai다.
c = pla_dic[kai]=2
pla_dic[kai] -= 1의 결과는
pla_dic = {"mumu":0,"soe":1,"poe":3,"kai":1,"mine":4}
pla_dic[players[1]] +=1
=pla_dic["soe"] += 1 의 결과는
pla_dic = {"mumu":0,"soe":2,"poe":3,"kai":1,"mine":4}
players[1],players[2] = players[2], players[1] 의 결과는
["mumu","kai","soe","poe","mine"]
for문의 세 번째 p는 mine이다.
c = pla_dic[mine]=4
pla_dic[mine] -= 1의 결과는
pla_dic = {"mumu":0,"soe":2,"poe":3,"kai":1,"mine":3}
pla_dic[players[3]] +=1
=pla_dic["poe"] += 1 의 결과는
pla_dic = {"mumu":0,"soe":2,"poe":4,"kai":1,"mine":3}
players[3],players[4] = players[4], players[3] 의 결과는
["mumu","kai","soe","mine","poe"]
for문의 네 번째 p는 mine이다.
c = pla_dic[mine]=3
pla_dic[mine] -= 1의 결과는
pla_dic = {"mumu":0,"soe":2,"poe":3,"kai":1,"mine":2}
pla_dic[players[2]] +=1
=pla_dic["soe"] += 1 의 결과는
pla_dic = {"mumu":0,"soe":3,"poe":4,"kai":1,"mine":2}
players[2],players[3] = players[3], players[2] 의 결과는
["mumu","kai","mine","soe","poe"]