
실행결과는 ok 인데
효율성 테스트 0점이라서 통과를 못한다.
public class Study {
public static void main(String[] args) {
//System.out.println("Hello World.!!");
String[] participant = {"leo", "kiki", "eden"};
String[] completion = {"eden", "kiki"};
System.out.println(solution(participant, completion));
}
public static String solution(String[] participant, String[] completion) {
// 힌트: completion의 길이는 participant의 길이보다 1 작습니다.
String answer = "";
for(int i=0; i<participant.length; i ++){
for(int j=0; j<completion.length; j++){
if(participant[i].equals(completion[j])){
participant[i] = "";
completion[j] = "";
}
}
}
for(String i : participant){
if(i != ""){ answer = i; }
}
return answer;
}
}
효율성을 뭘 해야 통과할 수 있을 지 몰라서 살짝 힌트를 얻은게
Arrays.sort() 함수 였다.
효율성 부분은 함수나 이런 것들을 사용해서 빠르게 적용할 수 있는걸 말하는 것 같다..
그냥 for문 while문 if 문 만 썼던 나는 대략 난감한 느낌이었다...
그래도 어찌 저찌 이리저리 대입해서 완료!

import java.util.Arrays;
public class Study {
public static void main(String[] args) {
String[] participant = {"mislav", "stanko", "mislav", "ana"};
String[] completion = {"stanko", "ana", "mislav"};
//String[] participant = {"marina", "josipa", "nikola", "vinko", "filipa"};
//String[] completion = {"josipa", "filipa", "marina", "nikola"};
System.out.println(solution(participant, completion));
}
public static String solution(String[] participant, String[] completion) {
// 힌트: completion의 길이는 participant의 길이보다 1 작습니다.
// 참가자 중에는 동명이인이 있을 수 있습니다.
String answer = "";
Arrays.sort(participant);
Arrays.sort(completion);
for(int i=0; i<completion.length; i++){
if(!(completion[i].equals(participant[i]))){
answer = participant[i];
break;
}
}
// 정상적으로 같을 때는 맨 마지막에 참가자 한명이 남아서 answer 값이 "" 이다.
if(answer.equals("")){
answer = participant[participant.length -1];
}
// for(String t : participant){
// System.out.println("참가자 : " + t);
// }
// System.out.println("-------------------");
// for(String e : completion){
// System.out.println("완주자 : " + e);
// }
// answer = participant[participant.length-1];
return answer;
}
}
생각해보니 이 카테고리가

해시.. 였다 ㅠㅠ
다른 사람들 코드보면서 다시 해봐야겠다.
728x90
'코딩 공부' 카테고리의 다른 글
[프로그래머스] 달리기 경주 (Java - Lv.1) (0) | 2023.08.21 |
---|---|
[백준] 4673번 - 셀프 넘버 (Java) (0) | 2021.06.14 |
[백준] 2775번 - 부녀회장이 될테야 (Java) (0) | 2020.12.23 |
[백준] 10250번 - ACM 호텔 (Java) (0) | 2020.12.22 |
[백준] 2442번 - 별 찍기 - 5 (Python) (0) | 2020.12.18 |