[백준] 2110 : 공유기 설치 (파이썬)
·
Algorithm/Binary Search
이분 탐색 문제https://www.acmicpc.net/problem/2110문제 이해1. 요점문제의 요점은 다음과 같다.각 공유기 사이의 거리 및 간격이 최대가 되게끔 공유기 C개를 배치하라.즉, 공유기 C개를 각각 최대한 멀리 떨어뜨려라.이때 공유기 사이의 거리 및 간격이 각각 달라도 된다. 최대가 되게 공유기를 배치 후 이 중에서 최소값을 출력한다.결론적으로는 공유기들이 각각 최대한 멀리 떨어져 있어야 한다. 2. 예시9 31 2 3 4 5 6 7 8 100정답 : 7 (1 8 100)9 410 20 30 40 48 60 70 80 81정답 : 20 (10 30 60 80)9 41 2 3 4 5 6 7 15 100정답 : 6 (1 7 15 100)10 41 2 3 4 5 6 7 8 9 10정답 :..
[백준] 1654 : 랜선 자르기 (파이썬)
·
Algorithm/Binary Search
이분 탐색 문제https://www.acmicpc.net/problem/1654💡 풀이코드 (성공)import sys K, N = map(int, sys.stdin.readline().split())lans = []for _ in range(K): lan = int(sys.stdin.readline()) lans.append(lan)def binary_search(K, N, lans): start = 1 end = max(lans) answer = 0 while start = N: start = mid + 1 answer = mid else: end = mid - 1 return answer..
[백준] 17425 : 약수의 합 (pypy)
·
Algorithm/Math
누적합, 소수 판정, 에라토스테네스의 체 문제https://www.acmicpc.net/problem/17425 문제 설명1 = 1 (1)2 = 1, 2 (3)3 = 1, 3 (4)4 = 1, 2, 4 (7)5 = 1, 5 (6)6 = 1, 2, 3, 6 (12)7 = 1, 7 (8)8 = 1, 2, 4, 8 (15)9 = 1, 3, 9 (13)10 = 1, 2, 5, 10 (18)11 = 1, 11 (12)12 = 1, 2, 3, 4, 6, 12 (28)1 2 3 4 5 6 7 8 9 10 11 12 13 141 4 8 15 21 33 41 56 69 87 99 127 입력첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 100,000)가 주어진다. 둘째 줄부터 테스트 케이스가 한 줄에 하나씩 주어지며..
[백준] 2252 : 줄 세우기 (파이썬)
·
Algorithm/Sort
위상정렬 문제https://www.acmicpc.net/problem/2252💡 풀이코드 (성공)import sys from collections import deque V, E = map(int, sys.stdin.readline().split())graph = [[] for _ in range(V + 1)]degree = [0] * (V + 1)for i in range(E): v1, v2 = map(int, sys.stdin.readline().split()) graph[v1].append(v2) degree[v2] += 1def topological_sort(V, E, graph, degree): queue = deque() result = [] for i in ..
[백준] 13460 : 구슬 탈출 2 (파이썬)
·
Algorithm/Simulation
BFS, 시뮬레이션 문제https://www.acmicpc.net/problem/13460 이 문제를 풀며 모호했던 부분이 많았기 때문에 구현이 어려웠던 것 같다.내가 이 문제를 풀며 모호함을 느꼈던 부분에 대해 먼저 소개하고자 한다. 헷갈렸던 부분1. RB에 모두 왼쪽으로 기울이기를 수행했을 때 이동 후의 끝점이 .과 O일때의 차이 1) 예제입력2의 예시 - 이동 후의 끝점이 .(빈 칸)일때 " 빨간 구슬과 파란 구슬은 동시에 같은 칸에 있을 수 없다.  "따라서, RB에 모두 왼쪽으로 기울이기를 수행했을 때 RB는 동시에 같은 칸에 있을 수 없으므로 다음과 같은 형태로 이동한다.  7 7########...RB##.######.....######.##O....########출력5 7 7########..
[백준] 1806 : 부분합 (파이썬)
·
Algorithm/Two Pointer
투포인터, 누적합 문제https://www.acmicpc.net/problem/1806투포인터 알고리즘 1. 개념투 포인터 알고리즘(Two Pointer Algorithm)은 배열이나 리스트와 같은 선형 자료 구조에서 두 개의 포인터를 사용하여 문제를 해결하는 기법이다. 이 알고리즘은 주로 다음과 같은 문제를 해결하는 데 사용된다.부분 배열 또는 부분 수열에서 특정 조건을 만족하는 경우 찾기두 배열에서의 교집합 구하기정렬된 배열에서 특정 합을 가지는 쌍 찾기 투 포인터 알고리즘의 기본 아이디어는 다음과 같다.두 개의 포인터를 사용하여 배열의 시작 부분과 끝 부분, 또는 특정 지점에서 시작하여 원하는 조건을 만족할 때까지 이동한다.포인터를 이동시키면서 조건을 체크하고, 조건에 맞는 경우를 찾으면 결과를 갱..
_은선_
'Algorithm' 카테고리의 글 목록 (5 Page)