본문 바로가기

분류 전체보기59

14889 스타트와 링크 (실버 1) 백준 14889 스타트와 링크 (실버 1)링크: 14889 스타트와 링크접근 방법그래프 입력을 받고, combinations 함수로 팀 편성편성된 선수는 팀 A, 안된 선수는 팀 B로 설정점수 계산소스 코드소스 코드: 93249959 제출import sysfrom itertools import combinationsinput = sys.stdin.readline# N 입력N = int(input())# 선수 능력치 입력graph = []for _ in range(N): row = [int(i) for i in input().split()] graph.append(row)# combinations 함수로 팀 편성team_comb = list(combinations(range(N), N//2))#.. 2025. 4. 17.
백준 1753 최단경로(골드 4) 백준 1753 최단경로(골드 4)링크: 1753 최단경로접근 방법최단거리를 사용하는 알고리즘 사용(AI 도움) 다엑스트라 사용다엑스트라는 가중치가 양수일 때 사용 가능최단거리를 찾는 것이기 때문에 사용 가능소스 코드소스 코드: 93152585 제출import sysimport heapq# 입력input = sys.stdin.readlineV, E = map(int, input().split())K = int(input())# 그래프 입력INF = float('inf')graph = [[] for _ in range(V)]for e in range(E): u, v, w = map(int, input().split()) graph[u-1].append((v-1, w))# 다엑스트라 알고리즘으로 최.. 2025. 4. 15.
백준 14502 연구소(골드 4) 백준 14502 연구소(골드 4)링크: 14502 연구소접근 방법3개의 벽 세우기, 전염, 최종 개수 세기 반복bfs 또는 dfs로 완전 탐색완전 탐색 근거: 시간 제한 2초, M의 최대값이 낮게 정해져 있음소스 코드소스 코드: 93042857 제출import sysfrom copy import deepcopyfrom itertools import combinationsfrom collections import dequeinput = sys.stdin.readline# 입력N, M = map(int, input().split())# 리스트 선언common_graph = [] # 공통으로 사용될 그래프common_virus_list = [] # 공통으로 사용될 초기 바이러스 위치empty_li.. 2025. 4. 13.
백준 10844 쉬운 계단 수 백준 10844 쉬운 계단 수링크: 10844 쉬운 계단 수접근 방법(시간 초과) dfs로 반복해서 해당 길이에 도달했을 때 반복 종료(성공) dp로 각 단계에서 생성될 수 있는 개수를 세기소스 코드 1 (시간 초과)소스 코드: 92876897 제출from collections import dequeN = int(input()) # 입력count = 0queue = deque([i for i in range(1, 10)])while len(queue) > 0: number = queue.pop() if number // 10**(N-1) > 0: count += 1 continue last_number = number % 10 if last_number - .. 2025. 4. 9.
백준 9663 N-Queen 백준 9663 N-Queen링크: 9663 N-Queen접근 방법퀸은 가로, 세로, 대각선 겹치지 않게 둬야 함한 행마다 하나씩 두어야 함따라서 각 행에 둬가면서 불가능한 경우만 제외하고 두기를 반복소스 코드 1 (시간 초과)소스 코드: 92762504 제출N = int(input())count = 0visited_col = [False] * Nvisited_cross_1 = [False] * (2*N+1)visited_cross_2 = [False] * (2*N+1)def backtracking(locate: tuple[int, int]) -> None: global count if locate[0] == N-1: # 체스판 끝(end of row)에 도착 count += 1 .. 2025. 4. 8.
Github Action 활용하기(pre-commit 자동화) Github Action 활용하기(pre-commit 자동화)배경현재 내 레포지토리에는 pre-commit을 통해 코드 포메팅을 자동화하고 있다.이 pre-commit을 Github에 push 했을 때에도 자동으로 pre-commit을 검사하도록 하고 싶다.Github Action1. 레포지토리에 .yml workflow 파일 생성[파일 구조]- Repository - .github - workflows - (파일 생성) pre-commit.yml - backend - route - service - data - frontend - src - img - js이런 식으로 파일을 생성한.. 2025. 4. 4.