[백준] 11000 : 강의실 배정 (파이썬)
·
Algorithm/Greedy
스위핑, 우선순위큐, 그리디 문제https://www.acmicpc.net/problem/11000💡 풀이코드 (성공 - 스위핑)import sys import heapq n = int(sys.stdin.readline())lecture = []for _ in range(n): a, b = map(int, sys.stdin.readline().split()) heapq.heappush(lecture, (a, 1)) # start heapq.heappush(lecture, (b, 0)) # end cnt = 0ans = 0while lecture: a, b = heapq.heappop(lecture) if b == 1: cnt += 1 else: ..
[백준] 2293 : 동전 1 (파이썬)
·
Algorithm/DP
DP 문제https://www.acmicpc.net/problem/2293💡 풀이코드 (실패 - 메모리 초과)import sys n, k = map(int, sys.stdin.readline().split())coin = [0] for _ in range(n): num = int(sys.stdin.readline()) coin.append(num) def sol(n, k, coin): dp = [[0] * (k + 1) for _ in range(n + 1)] for i in range(n + 1): dp[i][0] = 1 for i in range(1, n + 1): for j in range(1, k + 1..
[백준] 15989 : 1, 2, 3 더하기 4 (파이썬)
·
Algorithm/DP
DP 문제 https://www.acmicpc.net/problem/15989접근 방식1, 2, 3 더하기 문제와 다른점1, 2, 3 더하기 문제는 1, 2, 3을 활용하여, 그 합이 k가 되도록 만드는 순열 문제이다.아래 두가지 경우는 각각 다른 경우이다.1+2+12+1+11, 2, 3 더하기 4 문제는 1, 2, 3을 활용하여, 그 합이 k가 되도록 만드는 조합 문제이다.아래 두가지 경우는 같은 경우이다.1+2+12+1+1동전 문제와 같은점동전 문제는 주어진 동전의 금액을 활용하여, 그 금액의 합이 k원이 되도록 만드는 조합 문제이다.이 문제는 1, 2, 3을 활용하여, 그 합이 k가 되도록 만드는 조합 문제이다.따라서, 동전 문제와 같은 방법으로 문제를 풀 수 있다.💡 풀이코드 (성공 - 2차원 ..
[백준] 9095 : 1, 2, 3 더하기 (파이썬)
·
Algorithm/DP
DP 문제https://www.acmicpc.net/problem/9095💡 풀이코드 (성공 1)import sys t = int(sys.stdin.readline())def dynamic(n): dp = [0 for _ in range(n + 1)] dp[0] = 1 dp[1] = 1 dp[2] = 2 dp[3] = 4 for i in range(4, n + 1): dp[i] = dp[i - 1] + dp[i - 2] + dp[i - 3] print(dp[n])for _ in range(t): n = int(sys.stdin.readline()) if n == 0: print(1) elif n == 1: p..
[백준] 5052 : 전화번호 목록 (파이썬)
·
Algorithm/Hash
해시, 문자열, 트라이 문제https://www.acmicpc.net/problem/5052💡 풀이코드 (성공)import sys t = int(sys.stdin.readline())for _ in range(t): n = int(sys.stdin.readline()) arr = [] for _ in range(n): num = str(sys.stdin.readline().strip()) # strip 추가하여 해결 arr.append(num) arr.sort() def sol(n, arr): phone_num = set() for num in arr: for i in range(len(num) - 1):..
[백준] 17266 : 어두운 굴다리 (파이썬)
·
Algorithm/Binary Search
이진탐색 문제https://www.acmicpc.net/problem/17266💡 풀이코드 (성공) import sys import math N = int(sys.stdin.readline())M = int(sys.stdin.readline())light = list(map(int, sys.stdin.readline().split()))def binary_search(maxNum): left = 0 right = N answer = 0 while left mid = 길을 모두 비추기 위한 가로등의 최소 높이 주요 로직가로등이 비춰야 하는 거리 확인1 (시작-가로등, 가로등-끝)입력으로 배열에 가로등의 위치(x)만 들어간다. 그런데, 가로등-가로등 사이의 간격보다 길의 시작 위치-가..
_은선_
'Algorithm' 카테고리의 글 목록 (3 Page)