공부/알고리즘&자료구조

항해99 문제20번풀이 (완주하지 못한 선수,프로그래머스)

youngble 2021. 11. 10. 13:46

    1차 실패     

일단 원하는 구현은 했지만 효율성에서 실패가 떴다.

효율성 테스트가 실패 한 원인은 시간 초과 라고 뜨는데, 검색해보고 찾아보고 했을때 내린 결론은

1. 메서드를 많이 쓰면 구동시간이 오래걸린다는점.

2. 시간복잡도와 공간복잡도가 있는데 이때 2중 for문 (처음 for문과 includes 로 확인하므로 2중)으로 Big O 에서 n^2  에 해당하기 때문에 Quadratic Time 에 해당하게 된다고 생각한다.

3. 따라서 queue, stack, tree, 시간 복잡도, 공간 복잡도 등등 개념을 잡고 다시 코딩 해야한다.

 

 

아래는 팀원 분의 코딩으로 실현되는 것중 하나이다

 

https://jann2codingdiary.tistory.com/14

 

항해99 2주차 알고리즘풀이 5

완주하지 못한 선수 문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴

jann2codingdiary.tistory.com

비교해보자면 먼저 메서드가 많이 사라져있고 sort로 먼저 정렬을 시켜 participant 와 completion 을 일치하게 했다.

그리고 같은 인덱스에서 만약 다르다면 그 값을 return 해주는 것이다