분류 전체보기282 14940. 쉬운 최단거리 (Python) 14940번: 쉬운 최단거리 지도의 크기 n과 m이 주어진다. n은 세로의 크기, m은 가로의 크기다.(2 ≤ n ≤ 1000, 2 ≤ m ≤ 1000) 다음 n개의 줄에 m개의 숫자가 주어진다. 0은 갈 수 없는 땅이고 1은 갈 수 있는 땅, 2는 목표지점이 www.acmicpc.net 풀이 목표지점(2)의 위치를 구해서 해당 위치에서부터 bfs로 탐색을 하면 된다. 정답을 담아주는 배열의 초기 값에는 지도의 값이 1인 좌표에는 -1을 넣어주고 0인 좌표에는 0을 넣어준다. bfs 탐색을 하며 해당 좌표에 도착하는 거리를 정답 배열에 넣어주면 된다. 코드 from collections import deque # 범위 탐색을 위한 함수 def isRange(x, y): return 0 2022. 2. 11. 11725. 트리의 부모 찾기 (Python) 11725번: 트리의 부모 찾기 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. www.acmicpc.net 풀이 각 노드에 연결된 노드들을 담아놓는 배열(nodes)을 만들어준다. 입력으로 5 3을 받으면 nodes[5]에 3을 추가해주고 nodes[3]에 5를 추가해주는 방식으로 nodes 배열을 채워준다. 루트 노드가 1이라고 했으므로 1부터 큐에 담아서 각 노드에 연결되어 있는 노드들에 대해서 탐색한다. nodes[1]에 있는 노드들을 차례대로 큐에 담아주는데 이때 nodes[1]에 있는 노드들의 부모는 1번 노드이므로 부모 노드로 1을 담아준다. 이와 같은 방식으로 큐를 돌면서 노드들의 부모 노드를 찾아주고 마지막에 부모 노.. 2022. 2. 10. [DB] 트랜잭션 격리 수준(isolation level) 목차 1. 트랜잭션의 특성 ACID 트랜잭션을 성공적으로 처리하여 데이터베이스의 무결성과 일관성을 보장하기 위해서는 (1) 원자성 (Atomicity) (2) 일관성 (Consistency) (3) 격리성 (Isolation) (4) 지속성 (Durability) 의 4가지 특성을 만족해야 한다. 이중 격리성을 보장하기 위해서 모든 트랜잭션을 순차적으로 실행하면 동시성 처리 이슈가 발생한다. 반대로 동시성을 높이기 위해 여러 트랜잭션을 병렬처리하게 되면 데이터의 무결성이 깨질 수 있다. 따라서, 트랜잭션들을 병행 수행하면서 격리성을 보장하기 위해 ANSI 표준은 트랜잭션의 격리 수준을 4단계로 나누어 정의하고 있다. 2. 트랜잭션 격리 수준 트랜잭션의 격리 수준(isolation level)이란 동시에 .. 2022. 2. 8. [고득점 Kit(정렬)] H-Index (Python) 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr 풀이 일단 입력으로 받은 배열을 내림차순으로 정렬한다. 그 후 인용 횟수로 따졌을 때의 최댓값(citationRes)과 논문의 개수로 따졌을 때의 최댓값(countRes)을 나눠서 최댓값을 구했다. 예를 들어 입력으로 [5, 5, 5, 9]가 주어지면 [9, 5, 5, 5]로 정렬하고 앞에서부터 for문을 통해 현재 논문의 인용 횟수와 지금까지 살펴본 논문의 개수를 카운트한다. for문을 돌면 다음과 같은 순서로 체크한다. -> .. 2022. 2. 8. [DB - 데이터베이스 개론] Chapter 11. 보안과 권한 관리 목차 01. 보안 데이터베이스는 조직에서 허가한 사용자만 접근할 수 있도록 통제하여 보안을 유지하는 일이 무척 중요하다. 데이터베이스의 보안은 데이터를 보호하는 방법을 고려하는 측면에 따라 다양하게 구분할 수 있는데, 일반적으로 다음 세 가지 유형으로 구분된다. ① 물리적 환경에 대한 보안 - 자연 재해처럼 데이터베이스에 물리적으로 손신을 발생시키는 위험으로부터 데이터베이스를 보호해야 한다. ② 권한 관리를 통한 보안 - 접근이 허락된 사용자만 부여된 권한 내에서 데이터베이스를 사용할 수 있도록 한다. 계정이 발급된 사용자만 데이터베이스에 접근할 수 있도록 통제하고, 사용자별로 데이터베이스의 사용 범위와 수행 가능한 작업 내용을 제한할 수 있어야 한다. ③ 운영 관리를 통한 보안 - 데이터 무결성을 유지.. 2022. 2. 7. [DB - 데이터베이스 개론] Chapter 10. 회복과 병행 제어 목차 01. 트랜잭션 1. 트랜잭션의 개념 트랜잭션(transaction)은 하나의 작업을 수행하는 데 필요한 데이터베이스의 연산들을 모아놓은 것으로, 데이터베이스에서 논리적인 작업의 단위가 된다. 또한 데이터베이스에 장애가 발생했을 때 데이터를 복구하는 작업의 단위도 된다. 일반적으로 데이터베이스 연산은 SQL문으로 표현되므로 트랜잭션을 작업 수행에 필요한 SQL 문들의 모임으로 이해해도 좋다. 트랜잭션에 포함된 SQL문 중 하나라도 처리 과정에서 오류가 발생하면 모든 명령문의 실행을 취소하고 트랜잭션 작업 전의 데이터베이스 상태로 되돌아가게 해야 한다. 트랜잭션의 모든 명령문이 완벽하게 처리되거나 하나도 처리되지 않아야 데이터베이스가 모순이 없는 일관된 상태를 유지할 수 있다. 데이터베이스의 무결성과.. 2022. 2. 7. 이전 1 ··· 18 19 20 21 22 23 24 ··· 47 다음