package allpractice;
import java.util.Arrays;
public class Pro {
public static void main(String[] args) {
String[] participant = {"marina" , "josipa", "nikola" , "vinko" , "filipa" };
String[] completion = {"marina" , "josipa", "nikola" , "filipa"} ;
String answer = "" ;
Arrays.sort(participant);
Arrays.sort(completion);
for(int i = 0 ; i <completion.length ; i++ ){
if(!participant[i].equals(completion[i])){
answer = participant[i] ;
break;
}
}
if(answer == ""){
answer = participant[participant.length-1];
}
System.out.println(answer);
}
--------
https://programmers.co.kr/learn/courses/30/lessons/42576
프로그래머스에 입력하기
import java.util.Arrays;
class Solution{
public String solution(String[] participant, String[] completion) {
String answer = "" ;
Arrays.sort(participant) ;
Arrays.sort(completion);
for(int i = 0 ; i < completion.length; i++ ) {
if(!participant[i].equals(completion[i])){
answer = participant[i];
break;
}
}
if(answer == "" ) {
answer = participant[participant.length-1];
}
return answer;
}
}
---------------------------------------------------------------------------------------
연습장
기본 생각 : 참가자와 완주자의 배열이 하나씩 있을텐데 그 배열을 알파벳 순서대로 배열한다.
그렇게 되면 participant 와 completion 두개의 배열이 동일하게 작동할테고
if : 참가자에 동명이인이 없다면
참가자와 완주자가 동일한 배열을 갖다가 갑자기 참가자에는 있는데 완주자에는 없는
그러니까 참가자와 완주자가 (같은 배열의 순서에서) 다를때가 처음 나오는데
그때의 그 [i] 는 완주하지 못한 사람이다. 결과값으로 나와야 하는
if 참가자에 동명이인이 있어도 서로 배열이 다 같다가 한번 틀려질때 그때 그
위치에 있는 participant[i] 애가 완주하지 못한 사람이다.
//마라톤에 참가
//PA
String [] participant = {"marina", "josipa", "nikola", "vinko", "filipa"};
String [] completion = { "josipa", "filipa", "marina", "nikola" };
//공통점과 차이점을 발견해보기 : participant 에 있는애들은 vinko 말고는 전부 동일하다.
//completion 에는 vinko 가 하나 없을뿐 그러면 -> 동일하게 정렬을 시켜 놓을 수 있겠지.
String answer = "";
//anwser 라는 변수를 만들고 이거를 이용해서 participant 배열이랑 completion 배열을 확인할거야
Arrays.sort(participant);
Arrays.sort(completion);
//participant와 completion 이라는 두개의 배열 안에 있는 애를 알파벳순서대로 정렬을 해보도록 하자.
// 그렇게 되면 두개의 배열의 순서가 동일하게 이루어지고 participant 에 있는 유일한 애(완주하지 못한애 ) 빼고는
//전부 동일하게 정렬이 될거다.
//그렇게 됬을때 비교를 하면서 동일한 배열의 자리수에 해당하는 그때의 그애를 출력을 할 수 있게 된다.
//solution 이라는 메소드에 파라미터를 participant[] 와 completion[]을 넣어준것.
for ( int i = 0 ; i < completion.length ; i++){
if ( !participant[i].equals(completion[i])){
answer = participant[i];
break;
}
}
if ( answer == "" ){
answer = participant[participant.length-1];
}
System.out.println(answer);
-------------------------------------------------------------------------------------
프로그래머스에 옮기기 .
import java.util.Arrays;
class Solution{
public String solution(String [] participant, String [] completion) {
String answer = "";
Arrays.sort(participant );
Arrays.sort(completion );
for ( int i = 0 ; i < completion.length ; i++ ) {
if ( !participant[i].equals(completion[i]) ) {
answer = participant[i];
break;
}
}
if( answer == "" ) {
answer = participant[participant.length-1];
}
return answer;
}
}
댓글
댓글 쓰기