쫑쫑JJONG
끄적끄적 오후5시37분
쫑쫑JJONG
전체 방문자
오늘
어제
  • 분류 전체보기 (198)
    • Paper Reading (5)
    • Math (5)
    • Data Science (13)
      • SQL (12)
      • Data Analyst (1)
    • AI Track (32)
      • CV (21)
      • CV Remind (2)
      • NLP (1)
      • AI Basic (8)
    • Python (1)
      • Basic (8)
      • Application (5)
    • Robotics (31)
      • ROS (15)
      • Collabot_proj (16)
    • NaverBoost Camp 4기 (45)
      • 부스트일지 (13)
      • [P stage] Image Classificat.. (4)
      • [P stage] Object Detection (12)
      • [P stage] Semantic Segmenta.. (6)
      • [P stage] Final Project (5)
      • CV (1)
      • DL BASIC (4)
    • Excel (1)
    • Git (8)
      • Git (8)
    • Network (3)
      • 통신 (3)
    • 코테준비 (14)
      • Programmers (11)
      • 기타 (3)
    • 환경설정 (19)
    • etc (7)
      • 활동 (2)
      • TIP (3)
      • 잡동사니 (2)
    • 금융관련 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 포트폴리오

인기 글

태그

  • error
  • GIT
  • Arduino
  • collabot
  • python
  • diffusion
  • mmdetection
  • Monte Carlo Sampling
  • N
  • 이고잉
  • Data Scraping
  • transformer
  • 논문분석
  • CV
  • 환경설정
  • SQL
  • NLP
  • robotics
  • ros
  • segmentation
  • Confusion Matrix

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
쫑쫑JJONG

끄적끄적 오후5시37분

더 맵게(heap 이용)
코테준비/Programmers

더 맵게(heap 이용)

2022. 9. 19. 11:54
728x90

list 이용

def mix(itm1,itm2):
    n = itm1+itm2*2
    return n

def solution(scoville, K):
    answer = 0
    while(len(scoville)>1):
        if min(scoville) < K:
            first = scoville.pop(scoville.index(min(scoville)))
            second = scoville.pop(scoville.index(min(scoville)))
            scoville.append(mix(first,second))
            answer +=1
        else:
            return answer #섞는 최소 횟수 불가능 -> -1
    if scoville[0] < K:return -1
    else: return answer

 

정확성은 좋지만 효율성은 떨어지는 아이…

시간으로 때려박는 코드 ㅠㅠ(자료 구조의 소중함을 깨닫는 시간)

Heap 이용

import heapq
def mix(itm1,itm2):
    n = itm1+itm2*2
    return n

def solution(scoville, K):
    answer = 0
    heapq.heapify(scoville)
    while(len(scoville)>1):
        if scoville[0] < K:
            first =heapq.heappop(scoville)
            second =heapq.heappop(scoville)
            heapq.heappush(scoville, mix(first,second))
            answer +=1
        else:
            return answer #섞는 최소 횟수 불가능 -> -1
    if scoville[0] < K:return -1
    else: return answer

어느 상남자의 코드

from heapq import heapify, heappush, heappop
def solution(scoville, K):
    heapify(scoville)
    for i in range(1000000):
        try:
            heappush(scoville, heappop(scoville)+(heappop(scoville)*2))
            if scoville[0] >= K: return i+1
        except:
            return -1

걍 때려박아버리네ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

 

728x90

'코테준비 > Programmers' 카테고리의 다른 글

타겟넘버(DFS이용)  (0) 2022.09.19
소수 찾기(순열 이용)  (0) 2022.09.19
멀쩡한 사각형(최대공배수 이용)  (0) 2022.09.19
124나라(3진법이용)  (0) 2022.09.19
행렬 테두리 회전하기(copy매소드)  (0) 2022.09.19
    '코테준비/Programmers' 카테고리의 다른 글
    • 타겟넘버(DFS이용)
    • 소수 찾기(순열 이용)
    • 멀쩡한 사각형(최대공배수 이용)
    • 124나라(3진법이용)
    쫑쫑JJONG
    쫑쫑JJONG
    connect : tmdwhd619@naver.com

    티스토리툴바