상세 컨텐츠

본문 제목

[coding_test] 순위 검색

coding/coding_test

by golduny_zoo 2021. 5. 7. 22:26

본문

728x90

programmers.co.kr/learn/courses/30/lessons/72412

 

코딩테스트 연습 - 순위 검색

["java backend junior pizza 150","python frontend senior chicken 210","python frontend senior chicken 150","cpp backend senior pizza 260","java backend junior chicken 80","python backend senior chicken 50"] ["java and backend and junior and pizza 100","pyt

programmers.co.kr

문제는 통과 
실패라는 단어가 왜이렇게 씁쓸한지..

판다스로 풀어냈지만 결과는 처참한것같다..

역시나 정답은 전부 맞췄으나... 효율성에서 문제가 생겼다. 

그래도 문제를 푼것에 스스로 칭찬하고!

오늘도 효율성에 대해 알아간다!

내 학원동기님께서 친절하게도 나에게 힌트를 주셨다. 

이진탐색알고리즘이라는 효율성을 높여주는 알고리즘 숫자를 탐색할 땐 어디에나 사용할 수 있는 것이 장점이였다. 

단지 내가 아직 익숙하지 않은것뿐 

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]숫자 맞추기 게임 이진 탐색 알고리즘

 

[Algorithm]숫자 맞추기 게임 이진 탐색 알고리즘

2021.05.07 - [분류 전체보기] - [coding_test] 순위 검색 [coding_test] 순위 검색 programmers.co.kr/learn/courses/30/lessons/72412 코딩테스트 연습 - 순위 검색 ["java backend junior pizza 150","python f..

golduny.tistory.com

 

'coding > coding_test' 카테고리의 다른 글

[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

관련글 더보기