Python69 [Algorithm] 프로그래머스 14938 서강그라운드 | 파이썬 (다익스트라) ※ 14938 서강그라운드https://www.acmicpc.net/problem/14938 문제 해결 TIP최단경로 문제와 동일한 다익스트라 알고리즘으로 구현한다. 이때, 단방향이 아닌 양방향으로 간선 정보를 저장해야 한다. 또한, 수색범위 조건을 추가해준다. 전체 코드import sysimport heapqinput = sys.stdin.readlineINF = int(1e9)def dijkstra(start): q= [] heapq.heappush(q,(0,start)) distance[start] = 0 while q: dist, now = heapq.heappop(q) if distance[now] 2024. 9. 6. [Algorithm] 프로그래머스 1238 파티 | 파이썬 (다익스트라) ※ 1238 파티https://www.acmicpc.net/problem/1238 문제 해결 TIP최단경로 문제와 동일한 다익스트라 알고리즘으로 구현한다. 이때, 시작 노드가 고정된 오는 길 뿐만 아니라 가는 길도 계산해야 함으로, 추가해준다. 전체 코드import sysimport heapqinput = sys.stdin.readlineINF = int(1e9)def dijkstra(start): q= [] heapq.heappush(q,(0,start)) distance[start] = 0 while q: dist, now = heapq.heappop(q) if distance[now] 2024. 9. 5. [Algorithm] 프로그래머스 1753 최단경로 | 파이썬 (다익스트라) ※ 1753 최단경로https://www.acmicpc.net/problem/1753 문제 해결 TIP주어진 시작 노드에서 다른 모든 노드까지의 최단 경로를 찾는다. 다익스트라 알고리즘으로 구현한다. 우선순위 큐를 초기화하고 큐가 비어있을 때까지 인접 노드를 확인하며 더 짧은 경로를 찾아 해당 거리를 업데이트한다. 전체 코드import sysimport heapqinput = sys.stdin.readlineINF = int(1e9)def dijkstra(start): q= [] heapq.heappush(q,(0,start)) distance[start] = 0 #q = [(0, 1)] while q: dist, now = heapq.heappop(q) .. 2024. 9. 5. [Algorithm] 프로그래머스 42746 가장 큰 수 | 파이썬 (정렬) ※ 42746 가장 큰 수https://school.programmers.co.kr/learn/courses/30/lessons/42746 문제 해결 TIP문자열 비교에 대해 먼저 알아보자. print('2'위와 같이 '2'와 '20'을 비교하면 '20'이 크지만, '220'과 '202'를 비교하면 '220'이 더 커야한다. 따라서 문자열을 반복해주어 일관된 기준으로 비교해준다. 조건 중 numbers의 원소가 1000 이하인 점을 참고하여 3번 반복한 문자열들끼리 비교 정렬하여 출력하도록 한다. 전체 코드def solution(numbers): numbers = list(map(str, numbers)) numbers.sort(key=lambda x: x*3, reverse=True) .. 2024. 9. 5. [Algorithm] 삼성 SW 역량테스트 2017 하반기 오전 1번 문제 조삼모사, 코드트리 | 파이썬 ※ 조삼모사https://www.codetree.ai/training-field/frequent-problems/problems/three-at-dawn-and-four-at-dusk/description?page=1&pageSize=20&tier=1%2C10 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetree.ai[문제]n개의 일이 주어질 때 이를 아침과 저녁으로 2n개씩 나누어처리하고자 합니다.일마다 특성이 다르기 때문에 같이할 때의 업무 강도를 나타내는 업무 간의 상성 Pij가 존재합니다. 예를 들어 업무 상성이 다음과 같이 주어질 때,1, 2번 일을 아.. 2024. 8. 12. [Algorithm] 삼성 SW 역량테스트 2017 상반기 오전 2번 문제 외주 수익 최대화하기, 코드트리 | 파이썬 (DP, Dynamic Programming) ※ 외주 수익 최대화하기https://www.codetree.ai/training-field/frequent-problems/problems/max-of-outsourcing-profit/description?page=1&pageSize=20&tier=1%2C10 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetree.ai[문제]n일의 휴가 동안 외주 개발을 하여 수익을 최대화 하려고 합니다. 수행할 수 있는 외주 작업이 하루에 한 개씩 있고, 각 외주 작업은 수행 완료하는데 걸리는 기한 t와 이를 완료 했을 때의 수익 p가 주어집니다. 두 개 이상의 외주 작업은 동.. 2024. 8. 12. [Algorithm] 삼성 SW 역량테스트 2015 하반기 1번 문제 바이러스 검사, 코드트리 | 파이썬 (그리디) ※ 바이러스 검사https://www.codetree.ai/training-field/frequent-problems/problems/virus-detector/description?page=1&pageSize=20&name=%EB%B0%94%EC%9D%B4%EB%9F%AC%EC%8A%A4 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetree.ai[문제]바이러스의 확산을 막기 위해 총 n개의 식당에 있는 고객들의 체온을 측정하고자 합니다. 체온을 측정하는 검사자는 검사팀장과 검사팀원으로 나뉘어집니다. 팀장과 팀원이 검사할 수 있는 고객의 수가 다르며, 한 가게당 팀.. 2024. 8. 9. [Algorithm] 백준 2309 일곱 난쟁이 | 파이썬 ※ 2309 일곱 난쟁이https://www.acmicpc.net/problem/2309 문제 해결 TIP반대로 생각했을 때 9개의 난쟁이 키를 모두 합한 후, 2명의 난쟁이 키를 빼준 것이 100일 때를 출력하면 된다. 전체 코드result = []for i in range(9): height = int(input()) result.append(height)result.sort()sum = sum(result)answer = sumfound = Falsewhile True: for i in range(8): for j in range(i+1, 9): answer -= result[i] answer -= result[j] .. 2024. 8. 9. [Algorithm] 백준 1436 영화감독 숌 | 파이썬 ※ 1436 영화감독 숌https://www.acmicpc.net/problem/1436 문제 해결 TIP5666 다음으로 큰 종말의 수는 6660이다. 가장 작은 종말의 수인 666에서 1씩 증가시키며, count를 쌓아가면 된다. (효율을 따지려고 어렵게 생각하지 말고 컴퓨터는 빠르게 계산할 수 있다는 것을 항상 잊지말것...) 전체 코드N = int(input())answer = 666count = 0while True: if '666' in str(answer): count += 1 if count == N: break answer += 1print(answer) 2024. 8. 7. 이전 1 2 3 4 5 6 ··· 8 다음