-
매칭 점수코딩 테스트/Level 3 2020. 10. 13. 18:49반응형
매칭 점수
2019 KAKAO BLIND RECRUITMENT
635명 완료https://programmers.co.kr/learn/courses/30/lessons/42893
코딩테스트 연습 - 매칭 점수
매칭 점수 프렌즈 대학교 조교였던 제이지는 허드렛일만 시키는 네오 학과장님의 마수에서 벗어나, 카카오에 입사하게 되었다. 평소에 관심있어하던 검색에 마침 결원이 발생하여, 검색개발팀�
programmers.co.kr
https://tech.kakao.com/2018/09/21/kakao-blind-recruitment-for2019-round-1/
2019 카카오 신입 공채 1차 코딩 테스트 문제 해설
작년에 이어 올해도 블라인드 전형으로 카카오 개발 신입 공채가 시작되었습니다! 그 첫 번째 관문으로 1차 온라인 코딩 테스트가 지난 9월 15일(토) 오후 2시부터 7시까지 5시간 동안 치러졌는데�
tech.kakao.com
def solution(word, pages): import re data, scores = {}, {} url_re = re.compile(r'<meta property="og:url" content="([^"]*)"/>') text_re = re.compile(f'[^a-z]{word.lower()}(?=[^a-z])') link_re = re.compile(r'<a href="([^"]*)">') for idx, page in enumerate(pages): page = ' '.join(page.lower().split('\n')) url = url_re.search(page).group(1) base_score = len(text_re.findall(page)) links = link_re.findall(page) data[url] = (idx, links, base_score) scores[url] = 0 for url, (idx, links, base_score) in data.items(): scores[url] += base_score if len(links) > 0: link_score = base_score / len(links) for link in links: if link in scores: scores[link] += link_score max_adr, max_score = None, -1 for url, score in scores.items(): if score > max_score: max_score = score max_adr = url return data[max_adr][0]
테스트 1 〉 통과 (4.53ms, 9.96MB) 테스트 2 〉 통과 (4.31ms, 9.95MB) 테스트 3 〉 통과 (3.99ms, 10MB) 테스트 4 〉 통과 (4.39ms, 9.97MB) 테스트 5 〉 통과 (4.60ms, 10.1MB) 테스트 6 〉 통과 (4.39ms, 9.93MB) 테스트 7 〉 통과 (4.40ms, 10.1MB) 테스트 8 〉 통과 (4.39ms, 10.1MB) 테스트 9 〉 통과 (3.81ms, 10.1MB) 테스트 10 〉 통과 (4.28ms, 10.1MB) 테스트 11 〉 통과 (4.36ms, 10.1MB) 테스트 12 〉 통과 (5.65ms, 10.1MB) 테스트 13 〉 통과 (4.10ms, 9.91MB) 테스트 14 〉 통과 (4.15ms, 9.89MB) 테스트 15 〉 통과 (4.24ms, 9.86MB) 테스트 16 〉 통과 (3.81ms, 9.96MB) 테스트 17 〉 통과 (4.21ms, 9.96MB) 테스트 18 〉 통과 (4.16ms, 9.89MB) 테스트 19 〉 통과 (4.19ms, 9.98MB) 테스트 20 〉 통과 (4.10ms, 9.91MB)
로직이야 레벨 1에서도 충분히 풀 수 있는 문제인데..
정규표현식을 전방탐색까지 이용해야 하는 문제입니다.
물론 정규표현식을 안쓰고 풀 수도 있겠지만...
프로그래밍 1~2년 하고 접을 것도 아니고...
익혀두면 써먹을 곳이 많습니다.
워드 프로세서, 에디터에도 지원을 합니다.해설집 보면 정답률이 상당히 낮은데 실수를 찾기 어려워서 그렇습니다.
실제 크롤링은 데이터를 보면서 코딩을 하니 크게 어렵지 않습니다.저도 처음엔 전방 탐색을 하지 않고 코딩했다가 심하게 헤매었습니다.
정규표현식 책은 손에 잡히는 정규표현식 추천합니다. (뒷 광고 아님)
https://book.naver.com/bookdb/book_detail.nhn?bid=6053135반응형