처음 Map을 사용하지 않고 for문으로 해결한 경우 최악의 수가 나와 시간에러가 발생하였다 이후 시간 문제를 해결 하기 위해 Map을 사용하는 것으로 해결하였다.
import java.util.*;
class Solution {
public String[] solution(String[] players, String[] callings) {
Map<String,Integer> idxMap = new HashMap<>();
for(int i=0; i<players.length; i++){
idxMap.put(players[i],i);
}
for(String call : callings){
Integer idx = idxMap.get(call);
players[idx] = players[idx-1];
players[idx-1] = call;
idxMap.put(call,idx-1);
idxMap.put(players[idx], idx);
}
return players;
}
}
https://school.programmers.co.kr/learn/courses/30/lessons/178871
'알고리즘' 카테고리의 다른 글
[프로그래머스] 추억점수 (0) | 2023.06.04 |
---|---|
[프로그래머스] 그룹별 조건에 맞는 식당 목록 출력하기 (0) | 2023.05.29 |
프로그래머스 - 정수 내림차순으로 배치하기 (0) | 2022.12.25 |
프로그래머스 - x만큼 간격이 있는 n개의 숫자 (0) | 2022.12.19 |
프로그래머스 - 문자열 내 p와 y의 개수 (0) | 2022.12.19 |