[Python] 순위 검색 - level 2 (효율성 통과 못함)

2021. 6. 8. 20:12·알고리즘

https://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

 

 

일단 결론부터 말하자면.... 아직 못풀었다.

 

알고리즘은 금방 통과했지만 효율성 검사에서 통과하지 못했다.

 

구글링해서 통과한 코드를 봐도 저렇게 할 자신이 없더라....

 

그래서 일단 보류하고, 자료구조를 더 공부하고 도전하려고 한다.

 

진짜 이게 어떻게 레벨2야 ㅠ

 

def solution(info, query):
    answer = []
    info_arr, query_arr = [], []

    for info_idx in info:
        info_arr.append(info_idx.split(" "))
    for query_idx in query:
        query_arr.append(query_idx.replace(" and ", " ").split(" "))

    for query in query_arr:
        cnt = 0
        for info in info_arr:   # query하나당 info를 전부 검사함
            if int(query[4]) <= int(info[4]):   # query보다 점수가 클때만 다른 조건도 검사함
                res = True
                for idx in range(4):
                    if query[idx] == "-":   # -일때는 검사 스킵
                        continue
                    elif query[idx] != info[idx]:   # 조건과 다르면 res=False 및 검사 종료
                        res = False
                        break
                if res:         # res가 True일 때, cnt 증가
                    cnt += 1
        answer.append(cnt)      # 해당 query의 cnt를 answer에 추가

    return answer
반응형
저작자표시 (새창열림)

'알고리즘' 카테고리의 다른 글

[Java] 프린터 - level 2  (0) 2021.06.08
[Javascript] 큰 수 만들기 - level 2  (0) 2021.06.08
[Python] 타겟 넘버 - level 2  (0) 2021.06.07
[Python] 카펫 - level 2  (0) 2021.06.07
[Javascript] 시저 암호 - level 1  (0) 2021.05.18
'알고리즘' 카테고리의 다른 글
  • [Java] 프린터 - level 2
  • [Javascript] 큰 수 만들기 - level 2
  • [Python] 타겟 넘버 - level 2
  • [Python] 카펫 - level 2
Giwonnnnnnn
Giwonnnnnnn
개발, 일상 등 나에 대한 모든 것을 기록합니다.
  • Giwonnnnnnn
    기록하는 곳
    Giwonnnnnnn
  • 전체
    오늘
    어제
    • 분류 전체보기 (85)
      • 프로그래밍 (32)
        • 객체지향 설계 (6)
        • git (1)
        • Network (2)
        • 후기 (2)
        • 기타 (10)
        • 발생한 에러들 (11)
      • Language (18)
        • Java (0)
        • Python (2)
        • JavaScript (13)
        • TIL (3)
      • 알고리즘 (11)
      • BackEnd (7)
        • 데이터베이스 (1)
        • Nest.js (4)
        • Node.js (2)
      • 자격증 공부 (1)
        • 정보처리기사 (0)
      • 영어공부 (3)
        • 문법 기초 (3)
      • Cloud (3)
        • GCP (3)
      • 일상 (5)
        • 리뷰 (2)
        • 맛집 탐방 (1)
        • 일상 (2)
        • 일기장 (0)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

    • Github
    • LinkedIn
    • Instagram
  • 공지사항

  • 인기 글

  • 태그

    JavaScript
    java
    오브젝트
    알고리즘
    자바
    파이썬
    프로그래머스
    Object
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
Giwonnnnnnn
[Python] 순위 검색 - level 2 (효율성 통과 못함)
상단으로

티스토리툴바