본문 바로가기

Algorithm475

[파이썬] 코드트리 : 정육면체 한 번 더 굴리기 (골드3) [파이썬] 코드트리 : 정육면체 한 번 더 굴리기 (골드3) https://www.codetree.ai/training-field/frequent-problems/problems/cube-rounding-again/description?page=1&pageSize=20 풀이 방향성 생각 현재 주사위의 상태를 list로 저장한다. (자료형은 상관 없음. 인덱스만 기억하면) BFS를 통해 현재 이동한 칸에서 점수를 얼마나 획득할 수 있는지 체크하기. 주사위를 굴리기. deque를 이용해서 index, value 큐 두 개를 이용해서 rotate 시키기. 전체코드 from collections import deque N,M = map(int,input().split()) arr = [list(map(int,i.. 2024. 4. 13.
[파이썬] 백준 14728 : 벼락치기 (골드5) [파이썬] 백준 14728 : 벼락치기 (골드5) https://www.acmicpc.net/problem/14728 풀이 방향성 생각 냅색 기본문제 상한선이 주어진 무언가가 있을 때 최댓값을 찾는 문제 전체코드 N,T = map(int,input().split()) dp = [[0]*(T+1) for _ in range(N+1)] # T시간 썼을 때 얻을 수 있는 점수 최대값 for i in range(1,N+1): t,s = map(int,input().split()) for j in range(T+1): if j >= t: # max(현재 문제를 풀지 않는 경우 / 현재 문제를 푼 경우) dp[i][j] = max(dp[i-1][j],dp[i-1][j-t]+s) else: # 문제를 풀지 못하는 경.. 2024. 4. 8.
[파이썬] 프로그래머스 : 부대복귀 (레벨3) [파이썬] 프로그래머스 : 부대복귀 (레벨3) https://school.programmers.co.kr/learn/courses/30/lessons/132266?language=python3 풀이 방향성 생각 모든 부대원이 출발 지점에 도착하는지 체크 -> 도착지에서 BFS 돌려서 각 부대원까지 거리 체크 간선 가중치가 모두 1이므로 BFS로 간단하게 풀이 가능 전체코드 from collections import deque, defaultdict as dd def solution(n, roads, sources, destination): # 간선 정보 받아주고 graph = dd(list) for a,b in roads: graph[a].append(b) graph[b].append(a) # V에 걸린.. 2024. 4. 7.
[파이썬] 코드트리 : 예술성 (골드3) [파이썬] 코드트리 : 예술성 (골드3) https://www.codetree.ai/training-field/frequent-problems/problems/artistry/description?page=1&pageSize=20 풀이 방향성 생각 BFS로 덩어리 찾기. 배열 순회하면서 경계선 카운팅 해주기. list(zip(*array)) + a로 시계, 반시계 구현하기. 전체코드 from collections import deque, defaultdict as dd N = int(input()) arr = [list(map(int,input().split())) for _ in range(N)] dire = [(1,0),(0,1),(-1,0),(0,-1)] # 각 사이클 마다 BFS 진행. 덩어리의 .. 2024. 4. 7.