심심한잉여의 잡동사니

JAVA - 프로그래머스 1레벨 - 완주못한 선수 본문

코딩일기/코딩테스트 연습

JAVA - 프로그래머스 1레벨 - 완주못한 선수

심심한잉여 2021. 10. 17. 23:59
반응형
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

class Solution {
    public String solution(String[] participant, String[] completion) {
      String answer = "";
      List<String> list = (List<String>)(Arrays.asList(participant).stream().sorted().collect(Collectors.toList()));
			List<String> list2 =  (List<String>)(Arrays.asList(completion).stream().sorted().collect(Collectors.toList())); // 정렬된 리스트로 변환

	        int idx = list.size()-1; // 만약 list가 for문이 다 돌아도 틀린게 없다면 마지막 인덱스가 리턴되도록 함
	        int i = 0;
			for(String s : list2) {
	            if(s.equals(list.get(i))==false) { // 완주못한 선수는 1명이기 때문에 정렬하여 틀어지는 순간이 완주못한 선수
	            	idx = i; //해당 인덱스값으로 초기화
	            	break;
	            }
	            i++;
				}
	        answer = list.get(idx); //결과에 맞는 인덱스 값으로 리턴되게끔 초기화

        return answer;
    }
}

정렬을하면 된다는 생각을 못하여 꽤나 오랜 시간을 잡아먹은 문제, 해당 문제에서 힘들었던 부분을 생각하여
정렬이라는 방법도 있다는 것을 깨닫게 되는 좋은 계기가 되었다.

반응형