목록전체 글 (123)
짱이 될거야

이번 문제는 3차원으로 생각해야 해서 처음 접근하기가 어려웠는데 기존 4방향 탐색에서 6방향 탐색으로 바꿔주기만 하면 됐다. 처음에는 기존 하던 방식대로 for문을 돌려 토마토가 1일 때마다 bfs를 실행했는데, 그렇게 하면 런타임에러가 난다. 따라서 처음 상태가 1(익은 상태)이었던 토마토들을 미리 queue에 넣고, 그 queue에 대해서 한 번만 bfs를 해야 했다. from collections import deque import sys input = sys.stdin.readline def bfs(): while q: sh, si, sj = q.popleft() for dh, di, dj in [(-1, 0, 0), (1, 0, 0), (0, -1, 0), (0, 1, 0), (0, 0, -1)..
SQL Structured Query Language, 구조화된 쿼리 언어 관계형 데이터베이스 관리시스템(RDBMS)에서 데이터 저장, 수정, 삭제 및 검색할 수 있다. 정해진 데이터 스키마(Schema)에 따라 DB 테이블에 저장된다. 데이터를 분산한다. 엄격한 스키마를 따르며 데이터 중복을 피할 수 있다. 조인을 사용한다. NoSQL Not only SQL SQL만을 사용하지 않는 데이터베이스 관리시스템(DBMS) 수평적 확장 (SQL은 수직적 확장) 스키마가 없으며 조인을 사용하지 않는다. 스키마가 없기 때문에 컬럼값이 고정되지 않은 비정형 데이터에 주로 사용하며, 따라서 빅데이터를 다루는 경우 거의 대부분 NoSQL을 사용한다.

https://www.acmicpc.net/problem/3009 3009번: 네 번째 점 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. www.acmicpc.net x_dots = [] y_dots = [] for i in range(3): x, y = map(int, input().split()) x_dots.append(x) y_dots.append(y) for i in range(3): if x_dots.count(x_dots[i]) == 1: print(x_dots[i], end=' ') for i in range(3): if y_dots.count(y_dots[i]) == 1: print(y_dots[i])

https://www.acmicpc.net/problem/25501 25501번: 재귀의 귀재 각 테스트케이스마다, isPalindrome 함수의 반환값과 recursion 함수의 호출 횟수를 한 줄에 공백으로 구분하여 출력한다. www.acmicpc.net def isPalindrome(s): return recursion(s, 0, len(s)-1) def recursion(s, l, r): # s: 문자열, l: 시작, r: 끝 global count count += 1 if l >= r: return 1 elif s[l] != s[r]: return 0 else: return recursion(s, l+1, r-1) T = int(input()) # 테스트케이스의 수 for _ in range(T..

https://www.acmicpc.net/problem/2566 2566번: 최댓값 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다. www.acmicpc.net 여기서 주의할 것은 초기 최댓값을 0보다 작은 값으로 잡아야 한다는 것이다. 나는 arr[i][j] > max_result로 설정했는데, 행렬의 값은 0부터 가능하다고 명시돼 있다. 그렇기 때문에 초기 최댓값 max_result = 0으로 설정해버리면 초기 좌표인 fi, fj가 결과값이 돼 버린다. 따라서 arr[i][j] > max_result로 설정하는 경우 max_result = -1 이렇게 잡아야 한다. 만약..

https://www.acmicpc.net/problem/2738 2738번: 행렬 덧셈 첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같 www.acmicpc.net import sys input = sys.stdin.readline N, M = map(int, input().split()) # N(i), M(j): 행렬의 크기 arr1 = [list(map(int, input().split())) for _ in range(N)] arr2 = [list(map(int, input().split())) for _ in range(N)] resul..