본문 바로가기
반응형

분류 전체보기162

[파이썬🐍] 프로그래머스 : 부대복귀 def solution(n, roads, sources, destination): matrix = [[] for _ in range(n+1)] ##매트릭스 생성 for a, b in roads: matrix[a].append(b) matrix[b].append(a) print(matrix) ##처음은 경로 없음으로 세팅, destination은 0으로 세팅 road_map = [-1] * (n+1) road_map[destination] = 0 queue = [(destination, 0)] while queue: q = queue.pop(0) for i in matrix[q[0]]: print(i) if road_map[i] == -1: queue.append((i, q[1]+1)) road_map[i.. 2023. 1. 11.
[파이썬🐍] 프로그래머스 : 롤케이크 자르기 from collections import Counter def solution(topping): answer = 0 A = set() B = Counter(topping) for i in topping: B[i] -= 1 A.add(i) if B[i] == 0: B.pop(i) if len(B) == len(A): answer += 1 return 2023. 1. 10.
[파이썬🐍] 프로그래머스 : 다단계 칫솔 판매 def solution(enroll, referral, seller, amount): answer = [0] * len(enroll) #인덱스 dic형태로 찍어두기 enroll_idx = {enroll[i]: i for i in range(len(enroll))} for i in range(len(seller)): money = amount[i] * 100 idx = enroll_idx[seller[i]] while money > 0: percent_10 = money // 10 answer[idx] += money - percent_10 money = percent_10 if referral[idx] == "-": break idx = enroll_idx[referral[idx]] return answer 2023. 1. 10.
[파이썬🐍] 프로그래머스 : 기지국 설치 import math def solution(n, stations, w): answer = 0 #앞과 뒤를 챙기기 위해.. stations = [-w] + stations + [n+w+1] reach_range = 2*w+1 for i in range(1,len(stations)): #전파범위밖 사이 빈 공간의 수를 구하기 위함 blank = stations[i] - stations[i-1] - 1 - (2*w) # [-1, 4, 11, 13] # 4-(-1)-1-(2*1) = 4-2 = 2 # 11-4-1-(2*1) = 6-2 = 4 # 13-11-1-(2*1) = -1 if blank 2023. 1. 10.
반응형