
-Code
import java.util.*;
class Solution {
public String[] solution(String[] players, String[] callings) {
// 인덱스를 빨리 찾기 위한 map
Map<String, Integer> playerAndIdx = new HashMap<>();
for (int i = 0; i < players.length; i++) {
playerAndIdx.put(players[i], i);
}
// name에 따른 추월 계산 및 동기화
for (String name : callings) {
// 추월한 이름의 idx
int currIdx = playerAndIdx.get(name);
// 추월 당할 사람의 이름
String temp = players[currIdx - 1];
// 동기화
players[currIdx - 1] = name;
players[currIdx] = temp;
playerAndIdx.put(temp, currIdx);
playerAndIdx.put(name, currIdx - 1);
}
return players;
}
}'Beakjoon&프로그래머스 > Java' 카테고리의 다른 글
| [백준/Java] 35261번 피갤컵 들어왔으면 이 글부터 봐라 (0) | 2026.03.18 |
|---|---|
| [프로그래머스/Java] [카카오 인턴] 키패드 누르기 (0) | 2026.03.18 |
| [백준/Java] 3010번 페그 (0) | 2026.03.17 |
| [프로그래머스/Java] 신규 아이디 추천 (0) | 2026.03.17 |
| [백준/Java] 21869번 Maximum Bishop (0) | 2026.03.16 |