[Lv.1] 정답율 39%
https://school.programmers.co.kr/learn/courses/30/lessons/178871
[풀이]
- 리스트를 이용하면 시간 초과로 탈락. 해쉬 테이블(딕셔너리)를 만들어서 풀어야한다.
[정답]
def solution(players, callings):
name_dict = {name:rank for rank, name in enumerate(players)}
rank_dict = {rank:name for rank, name in enumerate(players)}
for calling in callings :
rank = name_dict[calling]
name_dict[calling], name_dict[rank_dict[rank-1]] = rank-1, rank
rank_dict[rank],rank_dict[rank-1] = rank_dict[rank-1], rank_dict[rank]
return list(rank_dict.values())
'코딩테스트' 카테고리의 다른 글
[프로그래머스] 숫자 짝꿍 (0) | 2023.10.09 |
---|---|
[프로그래머스] 개인정보수집 유효기간 (0) | 2023.07.16 |
[프로그래머스] 둘만의 암호 (0) | 2023.07.16 |
[프로그래머스] 구명보트 (0) | 2023.07.16 |
[프로그래머스] 정수를 나선형으로 배치하기 (0) | 2023.07.16 |