Search

달리기 경주

알고리즘
연습문제
플랫폼
프로그래머스
JCF
HashMap
상태
해결
생성 일시
2024/01/02 10:42
최종 편집 일시
2024/01/11 10:22

문제 설명

해결과정

Solution.java

import java.util.*; class Solution { public String[] solution(String[] players, String[] callings) { String[] answer = {}; Map<String, Integer> race = new HashMap<>(); int index = 0; for(String player : players) { race.put(player, index++); } for(String calling : callings) { // 호명된 선수의 현재 랭킹 int ranking = race.get(calling); // 추월당한 선수의 이름 String overtaking = players[ranking - 1]; // 추월당한 선수는 현재보다 1등 늦춰진다. race.put(overtaking, ranking); players[ranking] = overtaking; // 추월한 선수는 현재보다 1등 올라간다 race.put(calling, ranking-1); players[ranking - 1] = calling; } answer = players; return answer; } }
Java
복사