[백준] 5014번 스타트링크(python)
https://www.acmicpc.net/problem/5014 5014번: 스타트링크 첫째 줄에 F, S, G, U, D가 주어진다. (1 ≤ S, G ≤ F ≤ 1000000, 0 ≤ U, D ≤ 1000000) 건물은 1층부터 시작하고, 가장 높은 층은 F층이다. www.acmicpc.net 1. 내가 작성한 코드 from collections import deque f, s, g, u, d = map(int,input().split()) visit = [0] * (f+1) def bfs(): queue = deque() queue.append(s) visit[0] = 1 visit[s] = 1 while queue: x = queue.popleft() dx = [u,-d] for i in ran..
2023. 2. 17.
[백준] 10026번 적록색약(python)
https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 1. 내가 작성한 코드 from collections import deque def bfs(matrix,i,j,cnt,visit): queue = deque() queue.append((i,j)) visit[i][j] = cnt dx = [-1,1,0,0] dy = [0,0,-1,1] while queue: x,y = queue.popleft() for i in range(4): nx = ..
2023. 2. 16.
[백준] 9095번 1,2,3 더하기(python)
https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 1. 내가 작성한 코드 t = int(input()) for i in range(t): n = int(input()) d = [0,1,2,4] #1,2,3을 만들 수 있는 경우의 수 if n > 3: d = d + [0] * (n-3) for i in range(4,n+1): d[i] = d[i-1] + d[i-2] + d[i-3] print(d[n]) 1. 수를 만들 때는 1,2,3만을 사용할 수 있다. 1을 만들 수 있는 방법 => (1) => 1가지 2를 만들 수 있는 방법 => (1,1)..
2023. 2. 16.
[백준] 2630번 색종이 만들기(python)
https://www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net 1. 내가 작성한 코드 n = int(input()) #한 변의 길이 paper = [list(map(int, input().split())) for _ in range(n)] result = [] def cut(x,y,n): color = paper[x][y] #첫 paper의 색 for i in range(x, x+n): for j in range(y,y+n): if..
2023. 2. 14.