- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Refactoring
- CSS
- LEVEL1
- 면접을 위한 cs 전공지식 노트
- Docker
- First Project
- TWIL
- LEVEL 2
- TIL
- java
- TMIL
- 오늘도 개발자가 안된다고 말했다
- mongodb
- MariaDB
- javascript
- Git
- react
- 에러핸들링
- 아고라스테이츠
- CRUD
- Err-Handling
- 코어 자바스크립트
- 코딩테스트
- sql
- 알고리즘
- LEVEL 1
- 배포
- typescript
- 리팩터링 2판
- 프로그래머스
Archives
성장에 목마른 코린이
(해시) 완주하지 못한 선수 220406 본문
728x90
나의 솔루션
function solution(participant, completion) {
participant.sort();
completion.sort();
for (let i = 0; i < participant.length; i++) {
if (participant[i] !== completion[i]) {
return participant[i];
}
}
}
좋아요가 가장 많이 달린 솔루션
// 좋아요 제일 많이 달렸다고 좋은 솔루션이 아니구나.. ㅋㅋㅋㅋ
var solution=(_,$)=>_.find(_=>!$[_]--,$.map(_=>$[_]=($[_]|0)+1))
// 그래서 두번째 좋아요 많이 달린 솔루션 포스팅합니다 ㅎㅎ..
function solution(participant, completion) {
/*
for(let i in participant) {
if(completion.includes(participant[i]) == false) return participant[i];
completion.splice(completion.indexOf(participant[i]), 1);
}
*/
participant.sort();
completion.sort();
for(let i in participant) {
if(participant[i] !== completion[i]) return participant[i];
}
}
느낀점
저렇게도 풀 수 있구나.. 라고 느꼈고, 처음에 sort를 해주지 않아 안됬었는데 정렬을 먼저 해주고 나니 됬습니다.
ㅋㅋ 좋아요가 가장 많이 달린 솔루션 보고 엄청 웃었네요.
그리고 댓글에 for in 을 쓰면 성능을 하락시키는 주요 코드라고 합니다. 실제 테스트에서 성능 역시 채점 기준으로 캐쉬 방식보다 30%가량 성능이 늦게 측정된다고 하네요. 귀찮더라도 for (let i =0; i < arr.length; i++) 식으로 쓰라네요.
근데 왜 두번째로 좋아요가 많은지 참 신기합니다.
'코딩 테스트 준비 > 프로그래머스 level 1' 카테고리의 다른 글
(연습문제) 두 정수 사이의 합 220412 (0) | 2022.04.12 |
---|---|
두 개 뽑아서 더하기 220412 (0) | 2022.04.12 |
(탐욕법) 체육복 220409 (0) | 2022.04.09 |
(완전탐색) 모의고사 220409 (0) | 2022.04.09 |
(정렬) K번째수 220406 (0) | 2022.04.06 |
Comments