본문 바로가기
반응형

전체 글288

[BOJ][Python]16236번 풀이 https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net from collections import deque import sys ssr = sys.stdin.readline def bfs():#n^2 - 1 돌면서 현재 상태에서 먹을 수 있는 물고기를 전부 추가 visited = [[0 for _ in range(n)] for _ in range(n)] while q: tmp = q.popleft() visited[tmp[0]][tmp[1]] .. 2022. 7. 17.
[BOJ][Python]9019번 풀이 https://www.acmicpc.net/problem/9019 9019번: DSLR 네 개의 명령어 D, S, L, R 을 이용하는 간단한 계산기가 있다. 이 계산기에는 레지스터가 하나 있는데, 이 레지스터에는 0 이상 10,000 미만의 십진수를 저장할 수 있다. 각 명령어는 이 레지스터에 www.acmicpc.net from collections import deque import sys input = sys.stdin.readline t = int(input()) for _ in range(t): a,b = input().split() b = '0'*(4-len(b)) + b visited = [0 for _ in range(10000)] q = deque([(a,'')]) visited[int.. 2022. 7. 14.
[BOJ][Python]16928번 풀이 https://www.acmicpc.net/problem/16928 16928번: 뱀과 사다리 게임 첫째 줄에 게임판에 있는 사다리의 수 N(1 ≤ N ≤ 15)과 뱀의 수 M(1 ≤ M ≤ 15)이 주어진다. 둘째 줄부터 N개의 줄에는 사다리의 정보를 의미하는 x, y (x < y)가 주어진다. x번 칸에 도착하면, y번 칸으 www.acmicpc.net from collections import deque import sys ssr = sys.stdin.readline n,m = map(int, ssr().split()) ls = [list(map(int, ssr().split())) for _ in range(n+m)] visited = [0 for _ in range(101)] q=deque([(.. 2022. 7. 13.
[BOJ][Python]14500번 풀이 https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net import sys ssr = sys.stdin.readline def sol1(r,c):#o global n,m dp = [(0,1),(1,0),(1,1)] result = t[r][c] for i in dp: if 0 2022. 7. 12.
[BOJ][Python]2491번 풀이 https://www.acmicpc.net/problem/2491 2491번: 수열 0에서부터 9까지의 숫자로 이루어진 N개의 숫자가 나열된 수열이 있다. 그 수열 안에서 연속해서 커지거나(같은 것 포함), 혹은 연속해서 작아지는(같은 것 포함) 수열 중 가장 길이가 긴 것을 찾 www.acmicpc.net n = int(input()) num = list(map(int, input().split())) inc = 1 dec = 1 tmp = 1 for i in range(len(num)-1): if num[i] = num[i+1]: tmp += 1 else: dec = max(dec, tmp) tmp = 1 dec = max(dec, tmp) print(max(inc, dec)) 어렵진 않았는데 재밌다.. 2022. 7. 11.
[BOJ][Python]10026번 풀이 https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net from collections import deque import sys ssr = sys.stdin.readline def sol(): for i in range(n): for j in range(n): if visited[i][j] == 0: q.append((i,j)) visited[i][j] = 1 c = t[i][j] while q: tmp = q.popleft() for k in.. 2022. 7. 11.
[BOJ][Python]1783번 풀이 https://www.acmicpc.net/problem/1783 1783번: 병든 나이트 첫째 줄에 체스판의 세로 길이 N와 가로 길이 M이 주어진다. N과 M은 2,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net n,m = map(int, input().split()) if n >= 3: if m >= 7: print(m-2) elif m >= 4: print(4) else: print(m) elif n == 2: if m >= 7: print(4) else: print(1+(m-1)//2) else: print(1) 이번에는 구현 문제인데요. 느낌이 그리디랑 비슷한 문제입니다. 뭔가 수학적인 계산을 하는 문제라기 보다는 논리적 추론에 가까운 문제가 아닌가 생각합니다. .. 2022. 7. 10.
[BOJ][Python]7569번 풀이 https://www.acmicpc.net/problem/7569 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net from collections import deque import sys ssr = sys.stdin.readline m,n,h = map(int, ssr().split()) t = [[list(map(int, ssr().split())) for _ in range(n)] for _ in range(h)] q = deque([]) dp=[(-1,0,0), (1,0,0), (.. 2022. 7. 10.
[BOJ][Python]5430번 풀이 https://www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net from collections import deque import sys ssr = sys.stdin.readline t = int(ssr()) for _ in range(t): p = ssr().rstrip() n = int(ssr()) state = 1 if n == 0: num = ssr().rstrip() num = deque([]) else: num = ssr().rstrip() num = deque(num[1:-1].split(',')) fo.. 2022. 7. 9.
[BOJ][Python]11403번 풀이 https://www.acmicpc.net/problem/11403 11403번: 경로 찾기 가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 경로가 있는지 없는지 구하는 프로그램을 작성하시오. www.acmicpc.net import sys ssr = sys.stdin.readline sys.setrecursionlimit(10000) def sol(r,c,start): if visited[r][c] == 1: g[start][c] = 1 g[r][c] = 1 return visited[r][c] = 1 visited[c][r] = 1 g[start][c] = 1 g[r][c] = 1 for i in range(n): if g[c][i] == 1: sol(.. 2022. 7. 8.
반응형