완주하지못한 선수문제가 효율성이 0이 나오길래 (효율성 문제는 어떻게 해야할 지 모르겠다) 다른사람 코드를 찾아보기로 했다.
그리고 놀람..
import java.util.*;
class Solution {
public String solution(String[] participant, String[] completion) {
Arrays.sort(participant);
Arrays.sort(completion);
int i;
for(i = 0; i<completion.length; i++){
if(!participant[i].equals(completion[i])){
return participant[i];
}
}
return participant[i];
}
}
이렇게 간단히 풀어버리다니
제한사항에 completion길이가 participant보다 1작다는 조건을 잘 활용한 코드같다.
나는 participant에 completion(i)가 있으면 그 값을 participant에서 지워서 마지막에 남은 한 개를 return 하도록 코딩했는데
그렇게 하려면 contain()
, remove(object)
를 사용해야 하기 때문에 Array(participant)를 굳이 ArrayList로 바꿔줘야 하는 과정이 하나 추가되어야 했다. 그래서 효율성이 떨어졌을 것 같다.