송민준의 개발노트

프로그래머스-완주하지 못한 선수 본문

알고리즘/프로그래머스

프로그래머스-완주하지 못한 선수

송민준 2019. 10. 26. 20:24

https://programmers.co.kr/learn/courses/30/lessons/42576

 

코딩테스트 연습 - 완주하지 못한 선수 | 프로그래머스

수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 partic

programmers.co.kr

2개의 String 배열을 서로 비교해서 값을 같은 걸 제거하고 남은 1개의 값을 리턴해주는 문제이다.

풀기는 풀었는데... 효율성이 떨어져서 50점이 나온다....

혹시나 해서 ArrayList에 넣어 removeAll로 같은거 제거를 해주니 정확성까지 떨어지는 상황이.... ㅋㅋㅋㅋ

문제의 50점 짜리 코드... 다음 주 스터디 하면서 연구해봐야겠다...

Array.sort를 써서 정렬 후에 완주자 수를 기준으로 비교해서 false가 나올 경우 해당 인덱스의 참가자를 리턴한다.

- 참가자 김갑수 이상한 이상한 김현수

- 완주자 김갑수 이상한 김현수

(정렬된걸로 가정) 이상한과 김현수가 같은 인덱스인데 값이 다르게 된다. 완주 못한 참가자이므로 리턴한다.

이렇게 될 경우 맨 마지막 참가자가 완주 못한 사람일 경우는 반영이 안되므로 마지막 인덱스를 리턴해준다.