문제링크 : https://school.programmers.co.kr/learn/courses/30/lessons/178871
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
import java.util.*;
class Solution {
public String[] solution(String[] players, String[] callings) {
Map<String, Integer> rankMap = new HashMap<>();
for(int i=0; i< players.length; i++){
rankMap.put(players[i], i);
}
for (String player : callings) {
int ownRank = rankMap.get(player);
String beforePlayer = players[ownRank-1];
players[ownRank-1] = player;
players[ownRank] = beforePlayer;
rankMap.put(player, ownRank-1);
rankMap.put(beforePlayer, ownRank);
}
return players;
}
}
해설
배열 내 위치를 저장할 수 있는 MAP을 생성하여, 호명될때마다 플레이어와 순위를 같이 변경해주면 된다.
'Algorithm > Java' 카테고리의 다른 글
| [백준] 17266 어두운 굴다리 (1) | 2024.01.26 |
|---|---|
| [백준] 4963 섬의 개수 (0) | 2024.01.23 |
| [백준] 25757 임스와 함께하는 미니게임 (1) | 2023.10.29 |
| [백준] 4659 비밀번호 발음하기 (0) | 2023.10.28 |
| [프로그래머스] 추억 점수 (0) | 2023.10.23 |