본문 바로가기

코딩 테스트 공부 일지

#5. 코딩 테스트 - 달리기 경주

<결과>
성공

<Keyword>
배열 메서드 ==, equals() 차이


<문제 접근>

1. callings 배열에 들어있는 요소들과 같은 값인 players 배열 요소 찾기.
2. 찾은 players 배열의 요소의 인덱스를 -1 만큼 이동하기

import java.util.*;

class Solution {
    public String[] solution(String[] players, String[] callings) {
        for(String calling : callings) {
           for (int i = 1; i < players.length; i++) {
               if(players[i].equals(calling)){
                String temp = players[i];
                players[i] = players[i-1];
                players[i-1] = temp;
                break;
               }
           }
       }
        return players;
    }
}

 

 

<코드 설명>
1. 향상된 for()문으로 callings 배열의 요소를 String 으로 담기.
2. players의 1번째는 현재 1등인 관계이므로 찾을 필요 없음.
3. 만약 calling 배열의 요소와 players[i] 요소가 같다면, String 데이터로 담고, 인덱스-1로 선언하기.