본문 바로가기
반응형

알고리즘33

[백준/Python] 1238번 파티 - (다익스트라) 문제 https://www.acmicpc.net/problem/1238 소스코드# from collections import dequeimport heapq# 어느 날 이 N명의 학생이 X (1 ≤ X ≤ N)번 마을에 모여서 # 파티를 벌이기로 했다. # 이 마을 사이에는 총 M개의 단방향 도로들이 있고 # i번째 길을 지나는데 Ti(1 ≤ Ti ≤ 100)의 시간을 소비한다.n, m, x = map(int, input().split())graph = {}for i in range(m): start, end, time = map(int, input().split()) if start not in graph: graph[start] = [] graph[start].append.. 2024. 11. 27.
[백준/Python] 1717번 집합의 표현 - (유니온파인드) 문제https://www.acmicpc.net/problem/1717 소스코드import sys input = sys.stdin.readlinesys.setrecursionlimit(10 ** 6)n, m =map(int, input().split())parent = [i for i in range(n + 1)]def union(a, b): a = find(a) b = find(b) if a b: parent[a] = bdef find(a): if a == parent[a]: return a parent[a] = find(parent[a]) return parent[a]def is_connected(a, b): return find(a) =.. 2024. 11. 26.
[백준/Python] 11404번 플로이드 문제https://www.acmicpc.net/problem/11404 소스코드import sysinput = sys.stdin.readlinen = int(input())m = int(input())graph = [[1e11 for _ in range(n + 1)] for _ in range(n + 1)]for i in range(n): graph[i + 1][i + 1] = 0for i in range(m): a, b, c = map(int, input().split()) graph[a][b] = min(graph[a][b], c)for k in range(1, n + 1): for i in range(1, n + 1): for j in range(1, n + 1):.. 2024. 11. 25.
[백준/Python] 1753번 최단경로 문제https://www.acmicpc.net/problem/1753 소스코드import sysimport heapqinput = sys.stdin.readlineV, E = map(int, input().split())k = int(input())grape = {}for i in range(E): u, v, w = map(int, input().split()) if u not in grape: grape[u] = [] grape[u].append((v, w))def dijkstra(start): q = [] distance_list =[1e9 for i in range(V + 1)] heapq.heappush(q, (0, start)) distance_.. 2024. 11. 20.
[백준 / Python] 2166번 다각형의 면적 문제 https://www.acmicpc.net/problem/2166 코드 import sysinput = sys.stdin.readlinen = int(input())data = []for i in range(n): data.append(list(map(int, input().split())))data.append(data[0])answer = 0.0for i in range(n): answer += (data[i][0]*data[i+1][1] - data[i+1][0]*data[i][1]) answer = abs(answer / 2.0)print(round(answer,1)) https://ko.wikipedia.org/wiki/%EC%8B%A0%EB%B0%9C%EB%81%88_%E.. 2024. 10. 27.
[백준/Python] 1747번 소수&팰린드롬 문제https://www.acmicpc.net/problem/1747소스코드def primeCheck(data): if data == 1: return False for i in range(2, int(data ** 0.5) + 1): if data % i == 0: return False return Truedef palindromeCheck(data): data = str(data) if data == data[::-1]: return True else: return False n = int(input())while True: if primeCheck(n) and palindrome.. 2024. 10. 4.
[백준 / Python] 14698번 전생했더니 슬라임 연구자였던 건에 대하여 (Hard) 문제https://www.acmicpc.net/problem/14698소스코드import heapqimport sysinput = sys.stdin.readlineT= int(input())for i in range(T): N = int(input()) ls = list(map(int, input().split())) heapq.heapify(ls) answer = 1 while len(ls) > 1: a = heapq.heappop(ls) b = heapq.heappop(ls) c = a * b answer *= c heapq.heappush(ls, c) print(answer % 1000000007) 우선순.. 2024. 9. 23.
[백준 / Python] 17298번 오큰수 문제 https://www.acmicpc.net/problem/17298  소스코드from collections import dequeN = int(input())ls = list(map(int, input().split()))deque = deque()answer = [-1] * Ndeque.append(0)for i in range(1, N): # while deque and ls[deque[-1]]  이 문제에서는 스택을 사용한다. 소스코드에서 스택에 넣어지는 데이터는 값이 아니라 index이라는 것에 주의한다.  스택에 먼저 0을 삽입한다. 1부터 n-1까지 순회를 돈다. ( i in range(1, n) )  - 여기서 ls[i] 를 스택의 꼭대기의 오큰수인지 판단할 것이다. - 만약 스.. 2024. 9. 19.
[백준 / Python] 11000번 강의실 배정 문제https://www.acmicpc.net/problem/11000  코드import heapq# 3# 1 3# 2 4# 3 5heap = []# heapq.heappush(heap, 50)# heapq.heappush(heap, 10)# heapq.heappush(heap, 20)n = int(input())datalist = []size = 0for i in range(n): datalist.append(tuple(map(int, input().split())))datalist.sort(key=lambda x : (x[0]))# print(datalist)# data (int, int)for data in datalist: if len(heap) > 0: if heap[0].. 2024. 5. 29.
[백준 / Python] 14370번 전화번호 수수께끼 (Large) 문제https://www.acmicpc.net/problem/14370코드import sysinput = sys.stdin.readline n = int(input())data = { 'A':0, 'B':0, 'C':0, 'D':0, 'E':0, 'F':0, 'G':0, 'H':0, 'I':0, 'J':0, 'K':0, 'L':0, 'M':0, 'N':0, 'O':0, 'P':0, 'Q':0, 'R':0, 'S':0, 'T':0, 'U':0, 'V':0, 'W':0, 'X':0, 'Y':0, 'Z':0}for i in range(n): answerlist = [.. 2024. 5. 16.
728x90
반응형