250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- let
- js
- todolist
- Number
- VUE
- 컴포넌트
- 투두리스트
- var
- null
- typescript
- BIND
- 스코프
- 라우터
- Interface
- const
- 뷰
- 함수
- CSS
- ES6
- this
- 자바스크립트
- 데이터 타입
- function
- 타입스크립트
- 객체
- redux
- react
- 리액트
- 모던 자바스크립트
- 모던
Archives
- Today
- Total
홍준혁
프로그래머스 코딩테스트(2)-완주하지 못한 선수 본문
728x90
프로그래머스 해시에 있는 문제이다.
function solution(participant, completion) {
const completionCount = completion.length;
for (let index = 0; index < completionCount; index++) {
if (participant.includes(completion[index])) {
//참가자가 완주자에 포함 된다면
participant.splice(participant.indexOf(completion[index]), 1);
}
}
const answer = participant[0];
return answer;
}
위의 코드는 시간복잡도를 생각하지 않고 짠 코드이다.
저렇게 코드실행을 해보면 테스트케이스는 다 정답이지만 시간초과가 떠서 문제가 틀렸다고 뜬다.
사실 저문제는 해시를 사용해서 푸는 문제이다.
그래서 해시의 개념을 알아보고 다시 문제를 풀어봐야겠다.
+ 추가
시간 복잡도를 해결한 풀이다.
function solution(participant, completion) {
participant.sort();
completion.sort();
for(var i=0;i<participant.length;i++){
if(participant[i] !== completion[i]){
return participant[i];
}
}
}
순회를 하다가 처음 맞지 않은 값이 나온 경우, 그 값은 완주하지 못한 선수이다.
728x90
'코딩테스트' 카테고리의 다른 글
코딩테스트(3)-스킬 체크 테스트 Level.1(배열 Command) (0) | 2021.01.09 |
---|---|
프로그래머스 코딩테스트(1)-기능 개발 (0) | 2021.01.08 |
Comments