반응형

프로그래머스라는 알고리즘 코딩테스트 사이트 문제입니다.


직접 코딩테스트를 연습해 보시고 참고하셔서 공부하세요.


소스코드는 작성하는 사람에 따라서 다릅니다.


참여자 명단(participant) 에 있지만 완주목록(completion) 에 없는 사람을 출력합니다. 즉, 두개의 배열에 있는 이름이 일치 해야하고 없는 사람이 출력이 됩니다. ( 동명이인 있을 수 있음 )



Arrays.sort 를 이용하여 이름을 정렬 후 배열 인덱스를 이용해서 비교하는 방법으로 코딩 하였습니다.



import java.util.Arrays;  <- 선언해 주셔야 합니다.

public class test {
public static void main(String[] args) {
String[] participant= {"marina", "josipa", "nikola", "vinko", "filipa"};
String[] completion= {"josipa", "filipa","marina", "nikola"};
// ㅇㅖ시 값입니다. 예시값을 추가 해주세요.
Solution aa = new Solution(); // Class 선언
System.out.println(aa.solution(participant, completion)); // 메소드 Return 값 출력
}
}

class Solution {
public String solution(String[] participant, String[] completion) {
String answer = "";
Arrays.sort(participant); // 배열 정렬 a~z
Arrays.sort(completion); // 배열 정렬 a~z
int i;
for(i = 0; i<participant.length-1; i++) {
if(!participant[i].equals(completion[i])) {
answer = participant[i]; // 순서대로 비교 후 없는 이름이 있을 경우 저장 후 Return
return answer;
}
}
if(i == participant.length-1) {
answer = participant[i]; // 마지막 까지 일치하는 이름이 없었을 경우 마지막 사람이 완주 명단에 없는 사람.
}
return answer;
}
}


반응형