[백준 #1260] DFS와 BFS(Python)
https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net dfs는 재귀, bfs는 큐(deque 모듈 활용)를 이용했다. from collections import deque N, M, V = map(int, input().split()) graph = [[0] * (N+1) for _ in range(N+1)] #그래프 for _ in range(M): i, j = map(int, input().split()) g..
2023. 3. 7.
[백준 #1149] RGB거리(Python)
https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net dp[i][0] = R dp[i][1] = G dp[i][2] = B 26 40 83 49+min(40,83)=89 60+min(26,83)=86 57+min(26,40)=83 13+min(86,83)=96 89+min(89,83)=172 99+min(89,86)=185 dp에는 계속 최저 비용을 저장한다. 빨강으로 칠할 경우, 그전 집은 파랑이나 초록으로 칠해야 하므로 그중..
2022. 10. 2.
[프로그래머스] 수식 최대화(C++)
https://school.programmers.co.kr/learn/courses/30/lessons/67257 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 우선 주어진 string을 num과 cal(연산자) vector에 각각 나누어 저장한다. num={100,200,300,500,20} cal={-,*,-,+} 방문이 필요한 연산자에 대해서는 visit 배열을 0으로 변경하여, 나중에 방문할 때 1로 변경하는 용도로 사용한다. 그 후 func를 돌리는데, 적용 가능한 연산자, 즉 우선순위로 먼저 적용할 연산자를 선정하여 계산한다. 처음에는 *부터 ..
2022. 8. 18.