코딩테스트
[Level 1] 완주하지 못한 선수
기남
2020. 7. 9. 21:10
공식적인 코딩테스트 첫문제이다. 두근두근
다음부터는 힌트를 잘 보고 해봐야겠다. 자바의 개념이 아직 기억이 나지 않아 for문을 통해 풀어보았다.
[ 알고리즘 ]
반복문을 이용하여 participant(참여자)와 completion(완주자)를 비교한다.
반복문을 이용하여 participant(참여자)에 있는 중복된 사람이 있는지 비교한다.
status는 true이면, 같은 것이 없어 answer에 저장되는 것이고, false이면, 이름이 같거나 중복되지 않는다는 boolean이다.
class Solution {
public String solution(String[] participant, String[] completion) {
String answer = "";
//System.out.println(participant.length);
//System.out.println(completion.length);
Boolean status = false;
for (int i=0; i<participant.length; i++){
for(int j=0; j<completion.length; j++){
if(participant[i].equals(completion[j])){
status = true;
}
}
for (int k=i+1; k<participant.length; k++){
if(participant[i].equals(participant[k]))
status = false;
}
if(status == false)
answer = participant[i];
else
status = false;
}
return answer;
}
}
코드 채점을 했더니 10포인트를 얻었다.
해시를 사용하지 않았더니 정확성, 효율성을 잡지 못했다. 내일 다시 해봐야겠다.