본문 바로가기

전체 글

(31)
[백준] 2589. 보물섬 (Python) PyPy3로 돌려야 시간초과가 나지 않는다. -풀이 from collections import deque n, m = map(int, input().split()) maps = [list(input()) for _ in range(n)] max_len = 0 dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] queue = deque() def BFS(i, j): queue.append([i,j]) visited = [[0] * m for _ in range(n)] max_value = 0 visited[i][j] = 1 while queue: x, y = queue.popleft() for a in range(4): nx = x + dx[a] ny = y + dy[a] if n > nx..
[백준] 7576. 토마토 (Python) -문제링크 www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net -풀이 from collections import deque dx = [-1, 1, 0, 0] dy = [0, 0, 1, -1] m, n = map(int, input().split()) maps = [list(map(int,input().split())) for _ in range(n)] q = deque() for i in range(n): for j in range(m): if ..
[백준] 1260. DFS와 BFS (Python) -문제 링크 https://www.acmicpc.net/problem/1260 -풀이 from collections import deque n, m, v = map(int, input().split()) maps = [[0]*(n+1) for _ in range(n+1)] for i in range(m): a, b = map(int, input().split()) maps[a][b] = 1 maps[b][a] = 1 def dfs(v, visited): visited.append(v) for i in range(n+1): if maps[v][i] == 1 and (i not in visited): dfs(i, visited) return visited def bfs(v) : q = deque() visi..
[SWEA] 1953. 탈주범 검거 (Python) BFS! 인데 연결 상태를 확인하는 과정을 제대로 생각해야 한다. 밑으로 갈 수 있어서 갔더니 터널끼리 연결이 안 된 경우인, + ㅡ 이런 모양이 있을 수 있기 때문이다. - 풀이 from collections import deque tunnel = { 0: (), 1: ((1, 0), (0, 1), (-1, 0), (0, -1)), 2: ((1, 0), (-1, 0)), 3: ((0, 1), (0, -1)), 4: ((-1, 0), (0, 1)), 5: ((1, 0), (0, 1)), 6: ((1, 0), (0, -1)), 7: ((-1, 0), (0, -1)) } t = int(input()) for test in range(1,t+1): n, m, r, c, l = map(int, input().s..
[선형대수학] 삼각행렬 (Triangular Matrix) 삼각 행렬(Triangular matrix) 정사각행렬의 특수한 경우로 주대각선을 기준으로 대각항의 위쪽이나 아래쪽 항들의 값이 모두 0인 경우를 말한다. 주대각선 성분 위쪽의 모든 성분이 0인 행렬을 하삼각행렬 (lower triangular matrix) 라고 한다. 주대각선 성분 아래쪽의 모든 성분이 0인 행렬을 상삼각행렬 (upper triangular matrix) 라고 한다. 상삼각행렬이면서 하삼각행렬인 행렬은 대각행렬이다. 삼각행렬이면서 동시에 대각성분이 모두 0인 행렬은 순삼각행렬(stric triangular)이라고 한다. 위는 하삼각행렬이면서 순하삼각행렬이다.
[선형대수학] 스칼라 행렬(Scalar matrix)과 대각행렬(Diagonal matrix) 대각행렬과 스칼라행렬에 대해 이야기 하기전에 주대각선이 무엇인지부터 알아야한다. ​ 주대각선 정사각 행렬 또는 행렬식의 왼쪽 위의 끝에서 오른쪽 아래의 끝으로 이어지는 선 즉, 행과 열의 지표수가 같은 성분(k행 k열의 성분)들을 말한다. 위와 같이 붉은 색으로 표시한 것이 주대각선이다. 주대각선은 전치행렬의 전치 축 역할을 하며 주대각선 상에 위치한 원소들을 대각원소라고 한다. 반대각선은 이와 반대로 오른 쪽 위의 끝에서 왼쪽 아래로 이어지는 선으로 다음과 같이 표현할 수 있다. 대각행렬(Diagonal matrix) 주대각선을 제외한 곳의 원소가 모두 0인 행렬이다. 주로 정사각행렬을 가리킨다. n * n 행렬을 D라고 할 때 가 대각행렬일 필요 충분 조건은 아래와 같다. 주대각선의 원소가 모두 1이..
[Notion/LaTeX] 수식 표현시 위첨자 아래첨자 사용하기 위첨자 x^{위 첨자로 사용할 문자열} 위첨자는 x^(x^x) 까지 표현 가능 아래첨자 x_{아래 첨자로 사용할 문자열} 아래첨자 역시 세번까지 가능
[Python3] 리스트에서 최대 최소 찾기 min/max 리스트에서 최소 값과 최대 값을 찾을 때 for문을 돌며 minNum, maxNum 값을 갱신시키는 방법 말고 효과적으로 최소값과 최대값을 알 수 있는 함수가 있다. 이는 min과 max 이다. 단순히 min(a,b) 와 같이 변수끼리 비교하는 것도 가능하지만 list 에 있는 값을 비교하는 것도 가능하다! 아주 놀라운 함수이다. c언어에서는 여러 변수에서 min()이나 max 함수를 이용할 때 min(a,min(b, c)) 같이 min안의 min을 (재귀함수야 뭐야)이용해야 했지만, python은 min안에 최소값을 찾고 싶은 모든 변수를 넣을 수 있기 때문에 리스트의 최소 값을 알 수 있는 것이다. >>> min(1,3,-1,43,63,11,-234) -234 >>> max(-13151,16341,-..