전체 글

전체 글

    [데이터베이스 개론] 11. 보안과 권한 관리

    11. 보안과 권한 관리 01 보안 물리적 환경에 대한 보안 자연재해 등으로부터 보호 권한 관리를 통한 보안 접근이 허락된 사용자만 부여된 권한 내에서 데이터베이스 사용 운영 관리를 통한 보안 데이터 무결성을 유지하기 위한 올바른 제약 조건 정의 사용자들이 제약조건을 위반하지 않도록 통제 02 권한 관리 1. 권한 관리의 개념 접근 제어 기능: 데이터베이스 관리 시스템에 계정이 발급된 사용자가 로그인이 성공했을 경우에만 데이터베이스에 접근이 가능 보안을 위한 데이터 단위: 데이터베이스 전체 ~ 특정 테이블의 특정 행과 열에 있는 특정 데이터 값 2. 권한의 부여 객체 권한 해당 객체의 소유자가 부여 GRANT:객체의 소유자가 다른 사용자에게 객체에 대한 사용 권한을 부여 GRANT 권한 ON 객체 TO ..

    [데이터베이스 개론] 10. 회복과 병행제어

    [데이터베이스 개론] 10. 회복과 병행제어

    10 회복과 병행제어 01 트랜잭션 1. 트랜잭션의 개념 트랜잭션: 작업 하나를 수행하는 데 필요한 데이터베이스의 연산들을 모아놓은 것 데이터베이스에서 논리적인 작업의 단위 +장애가 발생했을 때 데이터를 복구하는 작업의 단위 트랜잭션의 모든 명령문이 완벽하게 처리되거나 하나도 처리되지 않아야 데이터베이스가 모순이 없는 일관된 상태 유지 → 데이터의 무결성과 일관성 보장 2. 트랜잭션의 특성 원자성 트랜잭션을 구성하는 연산들이 모두 정상적으로 실행되거나 하나도 실행되지 않아야 한다 (all-or-nothing) 트랜잭션을 구성하는 연산 중 일부만 처리한 결과를 데이터베이스에 반영x 일관성 트랜잭션이 성공적으로 수행된 후에도 데이터베이스가 일관된 상태를 유지해야 함 격리성 고립성, 현재 수행 중인 트랜잭션이..

    [백준] 11437 LCA , 11438 LCA2 (자바 Java)

    [백준] 11437 LCA , 11438 LCA2 (자바 Java)

    [Platinum V] LCA 2 - 11438 문제 링크 성능 요약 메모리: 101548 KB, 시간: 996 ms 분류 자료 구조(data_structures), 최소 공통 조상(lca), 희소 배열(sparse_table), 트리(trees) 문제 설명 N(2 ≤ N ≤ 100,000)개의 정점으로 이루어진 트리가 주어진다. 트리의 각 정점은 1번부터 N번까지 번호가 매겨져 있으며, 루트는 1번이다. 두 노드의 쌍 M(1 ≤ M ≤ 100,000)개가 주어졌을 때, 두 노드의 가장 가까운 공통 조상이 몇 번인지 출력한다. 입력 첫째 줄에 노드의 개수 N이 주어지고, 다음 N-1개 줄에는 트리 상에서 연결된 두 정점이 주어진다. 그 다음 줄에는 가장 가까운 공통 조상을 알고싶은 쌍의 개수 M이 주어지..

    [프로그래머스] 숫자 게임 (자바 Java)

    [level 3] 숫자 게임 - 12987 문제 링크 성능 요약 메모리: 68.4 MB, 시간: 103.57 ms 구분 코딩테스트 연습 > Summer/Winter Coding(~2018) 채점결과 정확성: 85.7 효율성: 14.3 합계: 100.0 / 100.0 문제 설명 xx 회사의 2xN명의 사원들은 N명씩 두 팀으로 나눠 숫자 게임을 하려고 합니다. 두 개의 팀을 각각 A팀과 B팀이라고 하겠습니다. 숫자 게임의 규칙은 다음과 같습니다. 먼저 모든 사원이 무작위로 자연수를 하나씩 부여받습니다. 각 사원은 딱 한 번씩 경기를 합니다. 각 경기당 A팀에서 한 사원이, B팀에서 한 사원이 나와 서로의 수를 공개합니다. 그때 숫자가 큰 쪽이 승리하게 되고, 승리한 사원이 속한 팀은 승점을 1점 얻게 됩니..

    [프로그래머스] 카카오프렌즈 컬러링북 (자바 Java)

    [level 2] 카카오프렌즈 컬러링북 - 1829 문제 링크 성능 요약 메모리: 89.9 MB, 시간: 8.96 ms 구분 코딩테스트 연습 > 2017 카카오코드 예선 채점결과 정확성: 100.0 효율성: 0.0 합계: 100.0 / 100.0 문제 설명 카카오 프렌즈 컬러링북 출판사의 편집자인 어피치는 네오에게 컬러링북에 들어갈 원화를 그려달라고 부탁하여 여러 장의 그림을 받았다. 여러 장의 그림을 난이도 순으로 컬러링북에 넣고 싶었던 어피치는 영역이 많으면 색칠하기가 까다로워 어려워진다는 사실을 발견하고 그림의 난이도를 영역의 수로 정의하였다. (영역이란 상하좌우로 연결된 같은 색상의 공간을 의미한다.) 그림에 몇 개의 영역이 있는지와 가장 큰 영역의 넓이는 얼마인지 계산하는 프로그램을 작성해보자...

    [프로그래머스] 비밀지도 (자바 Java)

    [level 1] [1차] 비밀지도 - 17681 문제 링크 성능 요약 메모리: 76.4 MB, 시간: 0.39 ms 구분 코딩테스트 연습 > 2018 KAKAO BLIND RECRUITMENT 채점결과 정확성: 100.0 합계: 100.0 / 100.0 문제 설명 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다. 지도는 한 변의 길이가 n인 정사각형 배열 형태로, 각 칸은 "공백"(" ") 또는 "벽"("#") 두 종류로 이루어져 있다. 전체 지도는 두 장의 지도를 겹쳐서 얻을 수 있다. 각각 "지도 1"과 ..

    [데이터베이스 개론] 9. 정규화

    [데이터베이스 개론] 9. 정규화

    09 정규화 01 정규화의 개념과 이상 현상 정규화의 개념 정규화(normalization) 이상(anomaly) 현상: 데이터베이스를 잘못 설계해서 불필요한 데이터 중복이 발생하여 릴레이션에 대한 데이터의 삽입 수정 삭제 연산을 수행할 때 발생하는 부작용 2. 이상 현상의 종류 삽입 이상(insertion anomaly) 새 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입해야 하는 문제 고객아이디 이벤트번호 당첨여부 고객이름 등급 apple E001 Y 정소화 gold apple E005 N 정소화 gold apple E010 Y 정소화 gold banana E002 N 김선우 vip banana E005 Y 김선우 vip carrot E003 Y 고명석 gold carrot E007 Y 고명석 g..

    [백준] 2042 - 구간 합 구하기 (자바 Java) : 세그먼트 트리

    [Gold I] 구간 합 구하기 - 2042 문제 링크 성능 요약 메모리: 348124 KB, 시간: 1936 ms 분류 세그먼트 트리(segtree), 자료 구조(data_structures) 문제 설명 어떤 N개의 수가 주어져 있다. 그런데 중간에 수의 변경이 빈번히 일어나고 그 중간에 어떤 부분의 합을 구하려 한다. 만약에 1,2,3,4,5 라는 수가 있고, 3번째 수를 6으로 바꾸고 2번째부터 5번째까지 합을 구하라고 한다면 17을 출력하면 되는 것이다. 그리고 그 상태에서 다섯 번째 수를 2로 바꾸고 3번째부터 5번째까지 합을 구하라고 한다면 12가 될 것이다. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)과 M(1 ≤ M ≤ 10,000), K(1 ≤ K ≤ 10,000) 가..

    [백준] 19237 - 어른 상어 (자바 Java)

    [Gold II] 어른 상어 - 19237 문제 링크 성능 요약 메모리: 19676 KB, 시간: 152 ms 분류 구현(implementation), 시뮬레이션(simulation) 문제 설명 청소년 상어는 더욱 자라 어른 상어가 되었다. 상어가 사는 공간에 더 이상 물고기는 오지 않고 다른 상어들만이 남아있다. 상어에는 1 이상 M 이하의 자연수 번호가 붙어 있고, 모든 번호는 서로 다르다. 상어들은 영역을 사수하기 위해 다른 상어들을 쫓아내려고 하는데, 1의 번호를 가진 어른 상어는 가장 강력해서 나머지 모두를 쫓아낼 수 있다. N×N 크기의 격자 중 M개의 칸에 상어가 한 마리씩 들어 있다. 맨 처음에는 모든 상어가 자신의 위치에 자신의 냄새를 뿌린다. 그 후 1초마다 모든 상어가 동시에 상하좌우..

    [백준] 10942 - 팰린드롬? (자바 Java)

    [Gold IV] 팰린드롬? - 10942 문제 링크 성능 요약 메모리: 316780 KB, 시간: 988 ms 분류 다이나믹 프로그래밍(dp) 문제 설명 명우는 홍준이와 함께 팰린드롬 놀이를 해보려고 한다. 먼저, 홍준이는 자연수 N개를 칠판에 적는다. 그 다음, 명우에게 질문을 총 M번 한다. 각 질문은 두 정수 S와 E(1 ≤ S ≤ E ≤ N)로 나타낼 수 있으며, S번째 수부터 E번째 까지 수가 팰린드롬을 이루는지를 물어보며, 명우는 각 질문에 대해 팰린드롬이다 또는 아니다를 말해야 한다. 예를 들어, 홍준이가 칠판에 적은 수가 1, 2, 1, 3, 1, 2, 1라고 하자. S = 1, E = 3인 경우 1, 2, 1은 팰린드롬이다. S = 2, E = 5인 경우 2, 1, 3, 1은 팰린드롬이..

출처: https://gmnam.tistory.com/157 [Voyager:티스토리]