원하는 것은 뭐든지
99클럽 코테 스터디 26일차 TIL , 달리기 경주 본문
반응형
문제
풀이
입력으로 현재 달리고 있는 등 수와 해설진들이 호명할 배열이 주어진다.
해설진들이 호명할 때마다 해당선수가 앞에 있는 선수를 추월한다. 예를 들어,
선희 - 미진 - 대철 - 희진이가 달리고 있을 때 해설진이 미진! 대철! 선희! 했다면
미진! 호출 시, 미진 - 선희 - 대철 - 희진
대철! 호출 시, 미진 - 대철 - 선희 - 희진
선희! 호출 시, 미진 - 선희 - 대철 - 희진
으로 순위가 결정된다.
제출 1 - 정답
import java.util.*;
class Solution {
public String[] solution(String[] players, String[] callings) {
String[] answer = new String[players.length];
Map<Integer, String> rank = new HashMap<>(); //순위 -> 이름 저장
Map<String, Integer> record = new HashMap<>(); //이름 -> 순위 저장
for(int i=1;i<=players.length;i++){
rank.put(i, players[i-1]);
record.put(players[i-1],i);
}
for(String call : callings){
int current = record.get(call); //현재 등 수
String front = rank.get(current-1);
rank.put(current-1, call);
rank.put(current, front);
record.put(call, current-1);
record.put(front, current);
}
for(int i=0;i<players.length;i++){
answer[i] = rank.get(i+1);
}
return answer;
}
}
순위에 해당하는 이름을 저장할 Map을 선언
이름에 해당하는 순위를 저장할 Map을 선언
해설진들이 호출할 때마다 순위를 바꿔준다.
TIL
- 이전문제 재풀이
반응형
'개발 > 문제풀이' 카테고리의 다른 글
99클럽 코테 스터디 28일차 TIL , 괄호 회전하기 (0) | 2024.08.18 |
---|---|
99클럽 코테 스터디 27일차 TIL , 할인 행사 (0) | 2024.08.17 |
99클럽 코테 스터디 25일차 TIL , Evaluate Division (0) | 2024.08.16 |
99클럽 코테 스터디 24일차 TIL , 대충 만든 자판 (0) | 2024.08.14 |
99클럽 코테 스터디 23일차 TIL , 마법의 엘리베이터 (0) | 2024.08.13 |
Comments