본문 바로가기

알고리즘

프로그래머스) 달리기 경주

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

def solution(players, callings):
    answer = []
    
    dic = {}
    
    for i in range(len(players)):
        dic[players[i]] = i
    
    for i in range(len(callings)):
        idx = dic[callings[i]]
        
        temp = dic[callings[i]]
        dic[callings[i]] = dic[players[idx - 1]]
        dic[players[idx - 1]] = temp
        players[idx],players[idx-1] = players[idx-1],players[idx]
    return players

 

처음엔 for문 한번으로 인덱스를 구하고 그 players[idx-1], players[i] = players[i],players[i-1]

로 구현했다.

그러나 인덱싱으로 시간초과가 나왔고, 딕셔너리를 사용했다.

'알고리즘' 카테고리의 다른 글

파이썬)예산  (0) 2023.05.30
프로그래머스) 대충 만든 자판  (0) 2023.05.08
프로그래머스) 공원 산책  (0) 2023.03.24
프로그래머스)바탕화면 정리  (0) 2023.03.24
프로그래머스) 카드뭉치  (0) 2023.03.19