[Python3] 프로그래머스 섬 연결하기(set())

민갱·2023년 7월 8일

CT

목록 보기
24/35

프로그래머스 고득점 Kit에서 그리디를 먼저 털고있었다. LV 3. 문제를 처음으로 풀었는데, 생각보다 나쁘지 않았고~ set 함수 사용이 필요해 공부하고나서 풀었다. 기본적인 콘셉트는 맞았다..(위안🫣)

섬 연결하기

set 사용법

실패


def solution(n, costs):
    # answer = 0
    # costs.sort(key=lambda x:x[2] ,reverse=False)
    # path = n - 1
    # for i in costs[:path]:
    #     answer += i[2]
    # return answer
#====================================
    answer = 0
    d = {(i[0],i[1]):i[2] for i in costs}
    d2 = {i[0]+i[1]:i[2] for i in costs}
    print(d2)
    for i in d:
        print(i)
        print(i[0])
        
    
    return answer

성공.


def solution(n, costs):
    answer = 0
    costs.sort(key=lambda x : x[2])
    link = set([costs[0][0]])
    
    while n != len(link):
        for i in costs:
            if i[0] in link and i[1] in link:
                continue
            if i[0] in link or i[1] in link:
                answer += i[2]
                link.update([i[0],i[1]])    
                break
    return answer
profile
가보자고

0개의 댓글