분류 전체보기 121

[python] 백준 12904번: A와 B(Greedy)

# 12904 A와 B https://www.acmicpc.net/problem/12904 12904번: A와 B 수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수 www.acmicpc.net ⭐ 코드 import sys input = sys.stdin.readline S = list(map(str, input().strip())) T = list(map(str, input().strip())) while len(S) != len(T): if T[-1] == 'A': T.pop() elif T[-1] == 'B': T.pop(..

Algorithm 2023.02.16

[python] 백준 11501번: 주식(Greedy)

# 11501 주식 https://www.acmicpc.net/problem/11501 11501번: 주식 입력의 첫 줄에는 테스트케이스 수를 나타내는 자연수 T가 주어진다. 각 테스트케이스 별로 첫 줄에는 날의 수를 나타내는 자연수 N(2 ≤ N ≤ 1,000,000)이 주어지고, 둘째 줄에는 날 별 주가를 나타 www.acmicpc.net ⭐ 코드 import sys input = sys.stdin.readline T = int(input()) # 테스트 케이스 for _ in range(T): day = int(input()) # 날 price = list(map(int, input().split())) benefit = 0 while True: if len(price) == 0: break # [..

Algorithm 2023.02.16

[python] 백준 16236번: 아기 상어(BFS)

# 16236 아기 상어 https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net ⭐ 코드 import sys input = sys.stdin.readline from collections import deque N = int(input()) graph = [list(map(int, input().split())) for _ in range(N)] baby_shark = [] # 먹을 수 있는 물고기가 1마리라면, 그 물고기를 먹으러 간다. # ..

Algorithm 2023.02.15

[python] 백준 11060번: 점프 점프(DP)

# 11060 점프 점프 https://www.acmicpc.net/problem/11060 11060번: 점프 점프 재환이가 1×N 크기의 미로에 갇혀있다. 미로는 1×1 크기의 칸으로 이루어져 있고, 각 칸에는 정수가 하나 쓰여 있다. i번째 칸에 쓰여 있는 수를 Ai라고 했을 때, 재환이는 Ai이하만큼 오른쪽으로 www.acmicpc.net ⭐ 코드 import sys input = sys.stdin.readline N = int(input()) jump_list = list(map(int, input().split())) dp = [-1] * N dp[0] = 0 for current in range(0, N-1): if dp[current] == -1: continue for next_step ..

Algorithm 2023.02.15

[python] 백준 7576번: 토마토(BFS)

# 7576 토마토 https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net ⭐ 코드 import sys input = sys.stdin.readline from collections import deque M, N = map(int, input().split()) boxes = [list(map(int, input().split())) for _ in range(N)] dx, dy = [0,0,-1,1], [-1,1,0,0] queue..

Algorithm 2023.02.14

[python] 백준 17086번: 아기 상어2(BFS)

# 17086 아기 상어2 https://www.acmicpc.net/problem/17086 17086번: 아기 상어 2 첫째 줄에 공간의 크기 N과 M(2 ≤ N, M ≤ 50)이 주어진다. 둘째 줄부터 N개의 줄에 공간의 상태가 주어지며, 0은 빈 칸, 1은 아기 상어가 있는 칸이다. 빈 칸과 상어의 수가 각각 한 개 이상인 입력만 www.acmicpc.net ⭐ 코드 import sys input = sys.stdin.readline from collections import deque N, M = map(int, input().split()) graph = [list(map(int, input().split())) for _ in range(N)] # 상 우상 우 우하 하 좌하 좌 좌상 dx =..

Algorithm 2023.02.13

23년 1월달 회고

작년에는 일상을 네이버 블로그에 기록했었는데, 개발 공부를 시작하면서 티스토리로 블로그를 이전하고 있다. 벌써 2월 중순이 다 되어가지만 2023년 1월달에 대한 기록을 해보려고 한다. 아래는 그동안 열심히 썼던 네이버 블로그,, 하키의 생각하는 투자 : 네이버 블로그 2021.5.16 ~ ing / 투자 / 재테크 / 이슈 / 일상 블로그 / mhmh779@naver.com blog.naver.com 1월에는 누구나 그렇듯 새로운 시작들과 다짐들이 가득했던 것 같다. 크게 요약해서 정리하자면 1. 파트타임 일 시작 2. 개발공부 스터디 시작 3. 운동, 책, 자기개발 으로 요약할 수 있을 것 같다. 1. 파트타임 일 시작 작년 12월 말 무렵 갑작스럽게 아는분에게 연락이 왔다. 아침에 한 번 저녁에 한..

하키 일기 2023.02.11

[python] 백준 17404번: RGB거리2(DP)

# 17404 RGB거리2 https://www.acmicpc.net/problem/17404 17404번: RGB거리 2 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net ⭐ 코드 import sys input = sys.stdin.readline N = int(input()) house = [list(map(int, input().split())) for _ in range(N)] INF = sys.maxsize answer = INF for i in range(3): dp = [[INF, INF, INF] ..

Algorithm 2023.02.10

[python] 백준 1890번: 점프(DP)

# 1890 점프 https://www.acmicpc.net/problem/1890 1890번: 점프 첫째 줄에 게임 판의 크기 N (4 ≤ N ≤ 100)이 주어진다. 그 다음 N개 줄에는 각 칸에 적혀져 있는 수가 N개씩 주어진다. 칸에 적혀있는 수는 0보다 크거나 같고, 9보다 작거나 같은 정수이며, 가장 www.acmicpc.net ⭐ 코드 import sys input = sys.stdin.readline N = int(input()) board = [list(map(int, input().split())) for _ in range(N)] dp = [[0] * N for _ in range(N)] dp[0][0] = 1 for i in range(N): for j in range(N): if ..

Algorithm 2023.02.10

[python] 백준 11048번: 이동하기(DP)

# 11048 이동하기 https://www.acmicpc.net/problem/11048 11048번: 이동하기 준규는 N×M 크기의 미로에 갇혀있다. 미로는 1×1크기의 방으로 나누어져 있고, 각 방에는 사탕이 놓여져 있다. 미로의 가장 왼쪽 윗 방은 (1, 1)이고, 가장 오른쪽 아랫 방은 (N, M)이다. 준규는 www.acmicpc.net ⭐ 코드 import sys input = sys.stdin.readline N, M = map(int, input().split()) candy = [list(map(int, input().split())) for _ in range(N)] dp = [[0] * (M + 1) for _ in range(N+1)] for i in range(1, N + 1):..

Algorithm 2023.02.10
728x90