Algorithm/Problems 95

[백준/파이썬] 3967 매직 스타

https://www.acmicpc.net/problem/3967 📝 문제 요약알고리즘: 백트래킹 + 가지치기 (Constraint Satisfaction) 12개의 칸으로 구성된 별(매직 스타)에 A~L(=1~12)의 알파벳을 배치해6개의 줄의 합이 모두 26이 되도록 만드는 문제다.이 문제는 단순 순열이 아닌, 제약 조건을 점진적으로 확인하며 탐색을 줄이는 대표적인 퍼즐 문제다. 🧱 입력 처리 & 자료 구조 설계 coords = [ (0, 4), (1, 3), (1, 5), (2, 2), (2, 4), (2, 6), (3, 1), (3, 3), (3, 5), (3, 7), (4, 4)] 문제의 별 모양의 숫자가 들어가야하는 12칸의 좌표이다.lines = [ [..

Algorithm/Problems 2025.10.17

[백준/파이썬] 16562 친구비

https://www.acmicpc.net/problem/16562 📝 문제 요약학생 N명과 친구 관계 M개, 각 학생마다 친구비가 있음친구의 친구도 친구이므로, 한 그룹에 속한 사람은 한 번만 친구비를 내면 됨예산 K원 안에서 모든 학생과 친구가 될 수 있는지 판단하고, 가능하면 최소 비용 출력, 불가능하면 Oh no 출력import syssys.setrecursionlimit(10**7)input = sys.stdin.readlinen,m,k = map(int, input().split())A = [0] + list(map(int, input().split())) # 1번 인덱스를 맞추기 위함friends = [[] for _ in range(n+1)]for _ in range(m): v,w ..

Algorithm/Problems 2025.10.13

[백준/파이썬] 1863 스카이라인 쉬운거

https://www.acmicpc.net/problem/1863 # 1863 스카이라인 쉬운거import sysinput = sys.stdin.readlinen = int(input())buildings = [list(map(int, input().split())) for _ in range(n)]buildings.sort() # x좌표 정렬# 스택에 남는 건물이 없도록 마지막에 높이가 0 인 건물 추가buildings.append([float('inf'), 0])ans = 0stack = [0] # 건물 높이를 저장하고 높이가 낮아질 때 pop 하여 건물 수를 셈for x,y in buildings: while stack and y stack[-1]: # 새로운 건물이 시작되는 시점 ..

Algorithm/Problems 2025.10.03

99클럽 코테 스터디 19일차 TIL + DP

https://www.acmicpc.net/problem/28069import sysinput = sys.stdin.readlinen, k = map(int, input().split())inf = 1e7dp = [inf] * (n+1)dp[0] = 0for i in range(n): if i i+1번째 계단에 올 수 있는 횟수는 두가지 방법으로 구할 수 있다.이전 칸에서 한칸 오르기 > 기존횟수 + 1i+i//2 칸 오르기 > 기존횟수 + 1즉 기존 자신의 횟수와 이전 칸 (i) 에서 올라오는 횟수를 비교해 최솟값을 가지고 있으면 된다.n개의 계단을 돌면서 횟수를 구해주고 k횟수 보다 적다면 k횟수 안에 계단에 도달한 것이기 때문에 minigimbob 출력k횟수 보다 많다면 k횟수 안에 도달하지..

Algorithm/Problems 2025.04.24

99클럽 코테 스터디 15일차 TIL + DP

https://www.acmicpc.net/problem/17271import sysinput = sys.stdin.readlinemod = 1000000007n, m = map(int, input().split())dp = [1] * (n+1)for i in range(m, n+1): dp[i] = (dp[i-1] + dp[i-m]) % modprint(dp[n])A스킬 시전시간은 1초, B스킬 시전시간은 m초 이기 때문에 n이 m보다 작을 때에는 무조건 A스킬만 사용할 수 있다.m초 이하일 때에는 A스킬만 사용하기 때문에 경우의 수는 1 이다. (dp[i] = dp[i-1] = 1)m초 이상일 때에는 A스킬과 B스킬을 함께 사용할 수 있다.t초 일 때t-1초까지 스킬 쓴 상태에서 A스킬 사용 가..

Algorithm/Problems 2025.04.18