카카오 2021 #3 - 순위검색

ims·2021년 6월 25일
0

📌 문제

해당 문자열에 맞는 값의 수 return 하기

단, 효율성 테스트가 있다.

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

loop 2번 돌아서 확인하는 걸로는 풀리지 않는다.

일단 무지성으로 loop 2번 도는 걸로 풀었는데, 정확성은 통과했으나 효율성은 통과하지 못했다.

📌 정확성만 통과한 풀이

def solution(infos, query):

    result =[]

    for query_one in query:

        split_query = query_one.split(" ")
        split_query_no_and = []

        for s in split_query:
            if s != "and":
                split_query_no_and.append(s)
        count = 0

        for info in infos:
            split_info = info.split(" ")

            if (split_query_no_and[0] == '-' or split_query_no_and[0] == split_info[0]) \
                    and (split_query_no_and[1] == '-' or split_query_no_and[1] == split_info[1]) \
                    and (split_query_no_and[2] == '-' or split_query_no_and[2] == split_info[2]) \
                    and (split_query_no_and[3] == '-' or split_query_no_and[3] == split_info[3]) \
                    and int(split_info[4]) >= int(split_query_no_and[4]):
                count +=1
        result.append(count)

    return result

solution(["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","python and frontend and senior and chicken 200","cpp and - and senior and pizza 250","- and backend and senior and - 150","- and - and - and chicken 100","- and - and - and - 150"])

🔥 주의점

int(split_info[4]) >= int(split_query_no_and[4]):

해당 type은 str 이므로, int로 변환해주어야 한다.

📌 풀이참조

https://tech.kakao.com/2021/01/25/2021-kakao-recruitment-round-1/

profile
티스토리로 이사했습니다! https://imsfromseoul.tistory.com/ + https://camel-man-ims.tistory.com/

0개의 댓글