일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- react #리액트 #동빈나
- 다이나믹프로그래밍
- 자바 #java
- 백준
- 재귀
- java #자바 #동빈나
- 파이썬 #알고리즘 #코딩테스트 #프로그래머스
- BFS
- 백준 #파이썬 #알고리즘 #코딩테스트
- 백준 #알고리즘 #파이썬 #코딩테스트
- css #웹 #생활코딩
- 프로그래머스
- 프로그래머스 #파이썬 #코딩테스트 #알고리즘
- 알고리즘
- java #자바
- PYTHON
- DFS
- css #생활코딩 #웹
- 코딩테스트
- 프로그래머스 #파이썬 #알고리즘 #코딩테스트
- 다익스트라
- 백트랙킹
- 파이썬
- java #자바 #나동빈
- dp
- 투포인터
- Dijkstra
- react #리액트 #동빈나 #나동빈 #유튜브강의
- java #자바 #생활코딩
- 파이썬 #백준 #알고리즘 #코딩테스트
Archives
- Today
- Total
커리까지
프로그래머스 2021 카카오 블라인드 순위검색 파이썬 본문
728x90
SMALL
문제링크
- 정확성은 만점이었지만 효율성에서 탈락하였다. 찾아보니 문자열을 경우의 수로 만들고 이 문자열에서 이진탐색을 통해 정답을 제출하면 효율성까지 만점을 받는다.
효율성 X, 정확성 O 제출 답안
import re
import copy
def solution(info, query):
people = {idx:value.split(' ') for idx, value in enumerate(info)}
check = {idx:list(filter(lambda x: x != '', re.split('\s|and',value))) for idx, value in enumerate(query)}
people2 = copy.deepcopy(people)
answer = []
for key, item in check.items():
for idx,data in enumerate(item):
if data == '-':
continue
else:
if idx != (len(item)-1):
people = dict(filter(lambda x: x[1][idx] == data, people.items()))
elif idx == (len(item)-1):
people = dict(filter(lambda x: int(x[1][idx]) >= int(data), people.items()))
answer.append(len(people))
people = people2
print(answer)
return answer
효율성까지 정답 답안 참고 블로그
- 이 블로그에 들어가면 이해할 수 있다.
- 갈 길이 멀다
728x90
LIST
'알고리즘 > 풀이' 카테고리의 다른 글
백준 1697번 숨바꼭질 파이썬 (0) | 2021.02.12 |
---|---|
백준 1987번 알파벳 파이썬 (0) | 2021.02.11 |
프로그래머스 2020 카카오 인턴십 키패드 누르기 파이썬 (0) | 2021.02.10 |
백준 5430번 AC 파이썬 (0) | 2021.02.09 |
백준 3986번 좋은 단어 파이썬 (0) | 2021.02.04 |
Comments