알고리즘/프로그래머스
프로그래머스 1단계 달리기 경주
푸딩코딩
2023. 6. 3. 17:23
728x90
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/178871
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
def solution(players, callings):
answer = {} #딕셔너리 선언
idx={}
for i in range(len(players)):
answer[players[i]]=i #플레이어: 순위
idx[i]=players[i] #순위:플레이어
for i in callings:
j=answer[i] #순위출력
answer[i]=j-1
temp=idx[j-1] #앞순번 사람
answer[temp]=j #바꿔줌
idx[j-1]=i
idx[j]=temp
return list(idx.values())
딕셔너리를 사용하면
빠르게 원소에 접근할 수 있다.
파이썬 내장함수 index()는 해당하는 원소의 인덱스를 반환하나, 시간복잡도 O(n)을 갖고 있어 시간 초과가 뜰 수 있다.
{ key : value } 꼴이다
728x90
반응형