문제 178871 달리기 경주

Sungmin·2023년 5월 31일
0

https://school.programmers.co.kr/learn/courses/30/lessons/178871


Solution

def solution(players, callings):
    dic_p = {i : key for key, i in enumerate(players)}
    
    for x in callings:
        c = dic_p[x]
        dic_p[x] -= 1
        dic_p[players[c-1]] += 1
        players[c], players[c-1] = players[c-1], players[c]
    
    return players

배운점

이 문제는 딕셔너리를 사용해야 쉽게 풀수있는 문제이다.
먼저 딕셔너리를 하나 생성하고 이름 : index로 만들어 주었다.
그 다음 부른 순서대로 반복문 을 돌면서
불린 선수 등수 c에 넣고 순위 상승!
불린 선수 앞등수 순위 하락!
그 다음 서로 순서를 바꿔주면 된다.
이 문제는 딕셔너리를 사용한다는 것을 빨리생각해 내는게 중요한데
난 많이 헤맸다. 다시 복습해 볼 필요가 있는 문제이다.

profile
Let's Coding

0개의 댓글