본문 바로가기

Algorithm475

[파이썬] 백준 20056 : 마법사 상어와 파이어볼 (골드4) [파이썬] 백준 20056 : 마법사 상어와 파이어볼 (골드4) 20056번: 마법사 상어와 파이어볼 첫째 줄에 N, M, K가 주어진다. 둘째 줄부터 M개의 줄에 파이어볼의 정보가 한 줄에 하나씩 주어진다. 파이어볼의 정보는 다섯 정수 ri, ci, mi, si, di로 이루어져 있다. 서로 다른 두 파이어볼의 위치 www.acmicpc.net 문제 풀이 0. 방향성 생각 1. 입력 import sys input = lambda : sys.stdin.readline().rstrip() n,balls,command = map(int,input().split()) fire = [] for _ in range(balls): y,x,m,s,d = map(int,input().split()) fire.appen.. 2023. 7. 24.
[파이썬] 백준 2156 : 포도주 시식 (실버1) [파이썬] 백준 2156 : 포도주 시식 (실버1) 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net 문제 풀이 방향성 생각 arr에 포도주를 순서대로 넣는다. 상태는 3가지가 존재한다. 선택하지 않은 상태 / 연달아 1개를 선택한 상태 / 연달아 2개를 선택한 상태. dp 배열을 3xn으로 만든다. DP 배열의 시작은 각각 0, arr[0], 0으로 초기화한다. 배열의 첫번째에는 이전에 선택하지 않거나 연달아 두 개 선택한 경우는 없음. dp[0][i+1] : 현재 포도주를 선택하지 않는 경우 -> 연달아서 선.. 2023. 7. 24.
[파이썬] 백준 17404 : RGB거리 2 (골드4) [파이썬] 백준 17404 : RGB거리 2 (골드4) 17404번: RGB거리 2 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 문제 풀이 0. 방향성 생각 각 색깔별로 시작해서 마지막에는 자신과 다른 색으로 끝난 색의 값 2개씩 받는다. 총 6개 중 최소값을 출력. 1. 입력 import sys input = lambda : sys.stdin.readline().rstrip() n = int(input()) arr = [] for _ in range(n): arr.append(list(map(int,inp.. 2023. 7. 22.
[파이썬] 백준 1149 : RGB거리 (실버1) [파이썬] 백준 1149 : RGB거리 (실버1) 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 문제 풀이 방향성 생각 2차원 DP를 만들어서 현재 밟는 지점에 누적 비용이 얼마인지 업데이트 한다. DP의 가로는 0 1 2, R G B를 배정한다. n은 칠해야하는 집의 수. 출발점으로부터 거리라고 생각한다. 초기값은 arr의 첫부분과 동일하게 지정. 다음 DP의 R = 다음 arr R + min(G현재,B현재) 이런식으로 현재 밟은 색깔이 아닌 곳 2개의 비용의 중 최소값을 더해준다. .. 2023. 7. 20.