기타/문제풀이
[프로그래머스_js]완주하지 못한 선수
하요
2021. 4. 17. 17:40
반응형
프로그래머스 > 코딩테스트 연습 > 해시
완주하지 못한 선수
: programmers.co.kr/learn/courses/30/lessons/42576?language=javascript
문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. |
제한사항
|
나의 문제 풀이
/** 변수의 의미 * participant : 마라톤 참여자 * completion : 완주 선수 **/ function solution(participant, completion) { var answer = ''; // 의미 없는 변수 삭제 participant.sort(); completion.sort(); for(var n=0; n<participant.length; n++){ if(participant[n] != completion[n]){ return participant[n]; } } return answer; // answer 대신 "" 사용 // return 을 삭제해도 되겠지만 만약 모두가 완주 했을 경우 "" 날려주기 } |
개선점
> 필요없는 코드는 삭제할 것 (ex. answer 같은 변수)
참고사항
> for문 사용시 in을 사용해서 코드를 짜는 경우가 있는데, 깔끔해서 보기 좋다고 생각했지만,
해당 구분은 여기서 사용하기에는 문제가 있는데 이는 for in의 특성 때문이라고 한다.
(for문에 정리문을 작성해야겠음)
for(var n in array) == for(var n=0; n < array.length; n++) |
다른 사람풀이
var solution=(_,$)=>_.find(_=>!$[_]--,$.map(_=>$[_]=($[_]|0)+1)) |
: 아직은 이게 뭔지 잘 이해가 가지않는다..
언어의 효율성에 대해 공부해보아야 할 것 같다..
반응형