거인의 코딩일지
[Lv.1_Java] 달리기 경주 본문
728x90
import java.util.Map;
import java.util.HashMap;
class Solution {
public String[] solution(String[] players, String[] callings) {
Map<String, Integer> map = new HashMap<>();
for(int i =0; i< players.length; i++){
map.put(players[i], i);
}
for(String player : callings){
// 등수와 앞에 가던 선수를 가져옴
int num = map.get(player);
String overPlayer = players[num-1];
// players 의 배열을 update 해준다음
players[num-1] = player;
players[num] = overPlayer;
// map에 담아주었다.
map.put(player, num-1);
map.put(overPlayer, num);
}
return players;
}
}
배열을 써서 하기에는 더 복잡할 것같아서 map 을 생성해서 담아준뒤 for 문으로 계산식 만들어서 해결했다!!
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/007.gif)
728x90
'알고리즘테스트 > Programmers' 카테고리의 다른 글
[Lv.1_Java] 덧칠하기 (0) | 2023.08.09 |
---|---|
[Lv.1_Java] 로또의 최고 순위와 최저 순위 (0) | 2023.08.09 |
[Lv.0_Java] 머쓱이보다 키 큰 사람 (0) | 2023.06.27 |
[Lv.1_Java]약수의 개수와 덧셈 (0) | 2023.06.26 |
[Lv.?_Map] 에라토스테네스의 체_(소수 찾는 공식) (0) | 2023.06.10 |