Programmers / 2단계 / 배달 / python / Summer/Winter Coding(~2018)

2024. 3. 13. 15:17·코딩테스트/programmers (python)

 

코딩테스트 연습 - 배달 | 프로그래머스 스쿨 (programmers.co.kr)

 

 

모범 답안

import heapq

def dijkstra(dist,adj):
    queue = []
    heapq.heappush(queue, [0,1])  
    while queue:
        cost, node = heapq.heappop(queue)
        for c,n in adj[node]:
            if cost+c < dist[n]:
                dist[n] = cost+c
                heapq.heappush(queue, [cost+c,n])


def solution(N, road, K):
    dist = [float('inf')]*(N+1) 
    dist[1] = 0  
    adj = [[] for _ in range(N+1)]  
    for r in road:
        adj[r[0]].append([r[2],r[1]]) 
        adj[r[1]].append([r[2],r[0]])
    dijkstra(dist,adj)
    return len([i for i in dist if i <=K])
import heapq

def dikjstra(start,distance,graph):
    q = []
    heapq.heappush(q, (0,start))
    distance[start] = 0
    while q:
        dist, now = heapq.heappop(q)
        if distance[now]<dist:
            continue
        for i in graph[now]:
            cost = dist+i[1]
            if cost<distance[i[0]]:
                distance[i[0]] = cost
                heapq.heappush(q, (cost,i[0]))

def solution(N, road, K):
    answer = 0
    INF = int(1e9)
    distance = [INF] * (N+1)
    
    graph = [[] for _ in range(N+1)]
    for a,b,c in road:
        graph[a].append((b,c))
        graph[b].append((a,c))
        
    dikjstra(1,distance,graph)
    
    for i in range(1,N+1):
        if distance[i]<=K:
            answer += 1

    return answer

 

참조

[프로그래머스] 배달 / python 파이썬 (tistory.com)

 

[프로그래머스] 배달 / python 파이썬

🌝 Summer/Winter Coding(~2018) 문제 https://programmers.co.kr/learn/courses/30/lessons/12978 코딩테스트 연습 - 배달 5 [[1,2,1],[2,3,3],[5,2,2],[1,4,2],[5,3,1],[5,4,2]] 3 4 6 [[1,2,1],[1,3,2],[2,3,2],[3,4,3],[3,5,2],[3,5,3],[5,6,1]] 4 4 program

jennnn.tistory.com

 

'코딩테스트 > programmers (python)' 카테고리의 다른 글

Programmers / 3단계 / 정수 삼각형 / python / 동적계획법(Dynamic Programming)  (1) 2024.03.16
Programmers / 1단계 / 신고 결과 받기 / python / 2022 KAKAO BLIND RECRUITMENT  (0) 2024.03.13
Programmers / 2단계 / [3차] 파일명 정렬 / python / 2018 KAKAO BLIND RECRUITMENT  (1) 2024.03.12
Programmers / 2단계 / 스킬트리 / python / Summer/Winter Coding(~2018)  (0) 2024.03.11
Programmers / 2단계 / 오픈채팅 / python / 2019 KAKAO BLIND RECRUITMENT  (0) 2024.03.09
'코딩테스트/programmers (python)' 카테고리의 다른 글
  • Programmers / 3단계 / 정수 삼각형 / python / 동적계획법(Dynamic Programming)
  • Programmers / 1단계 / 신고 결과 받기 / python / 2022 KAKAO BLIND RECRUITMENT
  • Programmers / 2단계 / [3차] 파일명 정렬 / python / 2018 KAKAO BLIND RECRUITMENT
  • Programmers / 2단계 / 스킬트리 / python / Summer/Winter Coding(~2018)
seulll
seulll
개인 공부 / 정리 블로그입니다
  • seulll
    seulll
    seulll
  • 전체
    오늘
    어제
    • 분류 전체보기 (329) N
      • 코딩테스트 (225) N
        • programmers (python) (156)
        • 백준 (python) (67) N
      • 자료구조 | 알고리즘 (14)
      • 개발 | 프로젝트 (40) N
        • Python (4)
        • Java | Spring (7)
        • Android (4) N
        • Unity (3)
        • API (4) N
      • CS (15)
        • Network (5)
        • SQL (2)
        • OS (4)
      • 데이터 분석 (14)
      • 기타 (12)
  • 블로그 메뉴

    • 홈
    • 태그
    • 글쓰기
    • 설정
  • 링크

    • GitHub
  • 인기 글

  • 태그

    train_test_split
    카카오맵 api
    그리디 알고리즘
    티스토리챌린지
    Boxplot
    데이터분석
    kakao map api
    Greedy
    야근 지수
    오차행렬
    2 x n 타일링
    Python
    대입 표현식
    API
    asterisk
    파이썬
    오블완
    백엔드 개발자 역량
    프로그래머스
    박스플롯
    모델 성능 평가
    solving environment
    프렌즈4블록
    confusion matrix
    웹크롤링
    백엔드
    백엔드 개발자
    바다코끼리
    코딩테스트
    카카오맵
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
seulll
Programmers / 2단계 / 배달 / python / Summer/Winter Coding(~2018)
상단으로

티스토리툴바