728x90
반응형
너무 바쁘다. 금욜 코테 일정이 생겨서 개인 작업은 다 중지. 플랫폼은 프로그래머스이다.
일단 기본 문제는 다 풀자.
해시 1. 완주하지 못한 선수
p. 선수 리스트 - 중복 허용, 중복된 문자가 더 많으면 완주못한걸로 간주
c. 완주 리스트 - 중복 허용됨, 중복된 문자가 최대 선수 리스트만큼
r - 배열 저장값으로 활용. 답은 하나만
function solution(p, c) {
//var answer = '';
let r = [];
//객체생성
```
for (let i in p) {
r[p[i]] = 0;
}
//참가자만큼의값초기화
for (let i in p) {
r[p[i]]++;
}
//참가자만큼의값을++해준다. 왜냐면중복되는사람도있으므로 A가3번 중복참가인데 완주에서2번밖에안나오면
// 절대값으로하면에러
for (let i in c) {
r[c[i]]--;
}
//참가자값을-- 해준다
for (let i in r) {
if (r[i] > 0) {
return i;
}
}
//값이0 이상이면리턴해준다
//return answer;
}
그냥 이런식으로다가, 값을 집어넣는 배열을 만들어 각 키에 해당하는 값에 ++ -- 를 넣어 마지막에 판별식을 넣었다.
정규화나 맵핑을 사용하는 다른 사람도 있었다. 빅오로 표현하면 4n 정도의 속도값이니깐 나쁘지 않다고 생각한다. sort나 맵핑도 결과적으로 그렇고, 팝이나 리스트를 쓰는방식도 나쁘지 않을것같았다.
반응형
'코딩테스트 > 실습' 카테고리의 다른 글
프로그래머스 스택/큐 문제 - 2 , 기능개발 (0) | 2021.01.06 |
---|---|
프로그래머스 스택/큐 문제 - 1 , 주식가격 (0) | 2021.01.05 |
프로그래머스 해시 문제 - 3 , 위장 (0) | 2021.01.04 |
프로그래머스 해시 문제 - 2 , 전화번호부 (0) | 2021.01.03 |
개인 사이트 크롤링,보안관련 모니터링 api들의 위치정보까지 제대로 긁어오자. (0) | 2020.12.13 |
댓글