programmers.co.kr/learn/courses/30/lessons/72412
판다스로 풀어냈지만 결과는 처참한것같다..
역시나 정답은 전부 맞췄으나... 효율성에서 문제가 생겼다.
그래도 문제를 푼것에 스스로 칭찬하고!
오늘도 효율성에 대해 알아간다!
내 학원동기님께서 친절하게도 나에게 힌트를 주셨다.
이진탐색알고리즘이라는 효율성을 높여주는 알고리즘 숫자를 탐색할 땐 어디에나 사용할 수 있는 것이 장점이였다.
단지 내가 아직 익숙하지 않은것뿐
def solution(info, query):
import pandas as pd
from collections import Counter
df=pd.DataFrame(columns=['java', 'python', 'cpp' ,'frontend' ,'backend',
'junior', 'senior', 'chicken', 'pizza', 'coding_test'])
answer = []
for infomation in info:
infomation =infomation.split()
infomation[-1] = int(infomation[-1])
info_dict = Counter(infomation[:-1])
info_dict['coding_test'] = infomation[-1]
info_dict = dict(info_dict)
df=df.append(info_dict, ignore_index= True)
df = df.sort_values('coding_test',axis=0)
print(df)
for shearch in query:
shearch_split = shearch.split(' and ')
shearch_split = shearch_split[:-1] + (shearch_split[-1].split())
shearch_split[-1] = int(shearch_split[-1])
df_1 = df.copy()
for point in shearch_split[:-1]:
if point != '-':
df_1= df_1.loc[(df_1['{}'.format(point)] == True)]
else:
df_1= df_1
df_1=df_1.loc[(df_1['coding_test'] >= shearch_split[-1])]
answer.append(len(df_1))
return answer
알게 된점
- 판다스에 대해 다시 까먹은 것같으니 다시 찾아서 상기하자
- 효율성을 높이는 이진탐색 알고리즘에 대해 알게 되었다.
2021.05.08 - [분류 전체보기] - [Algorithm]숫자 맞추기 게임 이진 탐색 알고리즘
[coding_test]폰켓몬 (0) | 2021.05.08 |
---|---|
[coding_test]소수 만들기 (0) | 2021.05.08 |
[coding_test]메뉴 리뉴얼 (1) | 2021.05.06 |
[coding_test] 신규아이디 추천 (0) | 2021.05.06 |
[coding_test] 키패드 누르기 (0) | 2021.05.06 |