본문 바로가기

분류 전체보기

(257)
파이썬)연구소2 -BOJ from itertools import combinations from collections import deque from copy import deepcopy import sys input = sys.stdin.readline n, m = map(int, input().split()) arr = [] vi = [] for i in range(n): l = list(map(int, input().split())) arr.append(l) for j in range(len(l)): if l[j] == 2: vi.append([i, j]) result = float('inf') dx = [0, 0, -1, 1] dy = [-1, 1, 0, 0] def bfs(vir): q = deque() cnt = 0 ..
파이선) 미로만들기 - BOJ https://www.acmicpc.net/problem/2665 from collections import deque n = int(input()) arr = [] for i in range(n): arr.append(str(input())) visit = [[False for _ in range(n)] for _ in range(n)] q = deque() q.append((0, 0, 0)) visit[0][0] = True dx = [0, 0, -1, 1] dy = [1, -1, 0, 0] while q: x, y, cnt = q.popleft() if x == n-1 and y == n-1: print(cnt) break for i in range(4): nx = dx[i] + x ny = dy[..
파이썬) 뱀과 사다리 게임 - BOJ https://www.acmicpc.net/problem/16928 이 문제는 bfs처럼 보이는 구현 문제였다. 주어진 조건만 잘 살펴보면 된다. 주사위를 굴려 다음 칸으로 이동한다 만약 다음칸이, 즉 nx가 사다리라면 사다리를 타고 이동한다 nx가 뱀이라면 뱀을타고 이동한다 출발지점과 도착지점엔 뱀과 사다리가 없다 from collections import deque n, m = map(int, input().split()) ladder = [] snake = [] for _ in range(n): a, b = map(int, input().split()) ladder.append([100-a, 100-b]) for _ in range(m): a, b = map(int, input().split()) ..
파이썬) 다리 만들기 - BOJ https://www.acmicpc.net/problem/2146 import sys from collections import deque input = sys.stdin.readline dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] # 섬을 구분해주는 bfs def bfs1(i, j): global count q = deque() q.append([i, j]) vis[i][j] = True arr[i][j] = count while q: x, y = q.popleft() for k in range(4): nx = x + dx[k] ny = y + dy[k] if 0 = n: continue # 다른 땅을 만나면 기존 답과 비교하여 짧은 거리 선택 if arr[nx][ny] > 0 ..
파이썬) 암기왕 -BOJ https://www.acmicpc.net/problem/2776 from bisect import bisect_left t = int(input()) def find(): n = int(input()) arr = list(map(int, input().split())) m = int(input()) arr2 = list(map(int, input().split())) arr.sort() for i in range(len(arr2)): target = arr2[i] start = 0 end = n-1 while start arr[mid]: start = mid + 1 else: end = mid - 1 if start > end: print(0) for _ in range(t): find()
파이선) 기타 레슨- - BOJ https://www.acmicpc.net/problem/2343 2343번: 기타 레슨 강토는 자신의 기타 강의 동영상을 블루레이로 만들어 판매하려고 한다. 블루레이에는 총 N개의 강의가 들어가는데, 블루레이를 녹화할 때, 강의의 순서가 바뀌면 안 된다. 순서가 뒤바뀌는 경 www.acmicpc.net n, m = map(int, input().split()) arr = list(map(int, input().split())) result = sum(arr) start = 0 end = sum(arr) while start
파이썬) 구슬탈출 -BOJ https://www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net from collections import deque import sys input = sys.stdin.readline # 빠른 입출력 위한 코드 n, m = map(int, input().split()) graph = [] for i in range(n): graph.append(list(input())) for j in range(m): if..
Next.js 시작하기(5) Pre-Rendering Data Fetching에 대해 이야기하기 전에 Next.js의 가장 중요한 개념중 하나인 Pre-rendering에 대해 이야기를 해보겠습니다. 기본적으로 Next.js는 모든 페이지를 미리 렌더링합니다. 이는 Next.js가 클라이언트 측 JavaScript로 모든 작업을 수행하는 대신 각 페이지에 대해 미리 HTML을 생성한다는 것을 의미합니다. 사전 렌더링을 통해 성능과 SEO가 향상될 수 있습니다 . 즉, 자바스크립트를 실행하기 전, 미리 HTML을 생성하기 때문에 검색엔진(구글 등)에서 웹사이트를 크롤링함에 있어서 웹사이트에 대한 정보를 가져오기가 수월하다는 의미이다. 생성된 각 HTML은 해당 페이지에 필요한 최소한의 JS코드와 연결됩니다. 브라우저가 페이지를 로드하..