본문 바로가기

분류 전체보기

(433)
프로그래머스_ 정수 삼각형 https://programmers.co.kr/learn/courses/30/lessons/43105 코딩테스트 연습 - 정수 삼각형 | 프로그래머스 [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 programmers.co.kr 삼각형을 타고 내려오면서 가장 큰 경로 값을 가져올 경우를 찾는 문제였다. 기본적인 DP로, 이전 경로에서 가장 큰 값에다 현재 경로 중 가장 큰 값을 더해주는 방식으로 경로를 확장해나가면서 해결할 수 있었다. 단, 삼각형의 둘레변 부분에서는 무조건 둘레변에서만 내려올 수 있으므로 이 부분들은 예외적으로 따로 처리해줬다. #include #include #include using namespace std; int solu..
프로그래머스_단속카메라 https://programmers.co.kr/learn/courses/30/lessons/42884 코딩테스트 연습 - 단속카메라 | 프로그래머스 [[-20,15], [-14,-5], [-18,-13], [-5,-3]] 2 programmers.co.kr 처음 풀이를 생각했을 때는 3 가지 경우를 생각했었다. 범위 내에 감싸고 있을 경우, 최소 지점과 만날 경우, 최대 지점과 만날 경우 저런 식으로 3 가지 경우를 생각하여 코드를 구현하였는데 계속 틀렸었다. 생각해보니, 저런식으로 bound를 줄여나가면 예전에 줄였던 경우에서 커버가 가능한 경우가 있을 수 있었다(말이 굉장히 어색하고 어려운데, 어쨋든 Routes간의 순서에 따라 값이 달라져버리게 될 수 있었다는 뜻이다). 밑의 코드는 처음 생각했던 ..
프로그래머스_타일 장식물 https://programmers.co.kr/learn/courses/30/lessons/43104 코딩테스트 연습 - 타일 장식물 | 프로그래머스 대구 달성공원에 놀러 온 지수는 최근에 새로 만든 타일 장식물을 보게 되었다. 타일 장식물은 정사각형 타일을 붙여 만든 형태였는데, 한 변이 1인 정사각형 타일부터 시작하여 마치 앵무조개의 나선 모양처럼 점점 큰 타일을 붙인 형태였다. 타일 장식물의 일부를 그리면 다음과 같다. 그림에서 타일에 적힌 수는 각 타일의 한 변의 길이를 나타낸다. 타일 장식물을 구성하는 정사각형 타일 한 변의 길이를 안쪽 타일부터 시작하여 차례로 적으면 다음과 같다. [1, 1 programmers.co.kr 간단한 DP 문제였다. 다음 타일의 크기를 구하는 과정은 피보나치 수열..
프로그래머스_N으로 표현 https://programmers.co.kr/learn/courses/30/lessons/42895 코딩테스트 연습 - N으로 표현 | 프로그래머스 programmers.co.kr 처음 해당 문제를 접했을 때는 DP로 풀려고 하였다. 그런데 DP로 생각해보려니 최적화 원리가 어떻게 적용될 수 있는지 이해가 잘 안되서 쉽지 않았다. 그러던 중 DFS로도 할 수 있지 않을까 생각하였고 다행히 터지지 않고 해결할 수 있었다. DFS로 접근법은 간단하다, 숫자에 대해 연산을 재귀적으로 수행하면서 목적값 number를 찾아가면 된다. 이 때 백트랙킹 조건으로 다음의 두 가지를 포함시켰다. 1) 숫자 사용 수가 8번이 넘어가는 경우 2) 현재까지 만들어둔 결과값 num이 0일 때는 굳이 곱하거나 나누는 경우 나누..
프로그래머스_2*n 타일링 https://programmers.co.kr/learn/courses/30/lessons/12900# 코딩테스트 연습 - 2 x n 타일링 | 프로그래머스 가로 길이가 2이고 세로의 길이가 1인 직사각형모양의 타일이 있습니다. 이 직사각형 타일을 이용하여 세로의 길이가 2이고 가로의 길이가 n인 바닥을 가득 채우려고 합니다. 타일을 채울 때는 다음과 같이 2가지 방법이 있습니다. 타일을 가로로 배치 하는 경우 타일을 세로로 배치 하는 경우 예를들어서 n이 7인 직사각형은 다음과 같이 채울 수 있습니다. 직사각형의 가로의 길이 n이 매개변수로 주어질 때, 이 직사각형을 채우는 방법의 수를 return 하는 s programmers.co.kr 기본적인 DP 문제이다. Level 3의 카카오 추석 트래픽 문..
Chap 5-6. Database 권한(Privilege) 1. 권한의 정의 특정 사용자가 가지는 Oracle 서버에 연결, User와 DB Object를 생성, 삭제하는 특정 SQL 문을 실행할 수 있는 System 유형의 권한 기존 특정 DB Object에 대해 특별히 명세하는 접근만 할 수 있는 Object 유형의 권한 2-1. 시스템 권한(System Privileges) GRANT [system_privilege_name | role_name] TO [user_name | role_name | PUBLIC] [WITH ADMIN OPTION] REVOKE [system_privilege_name | role_name] FROM [user_name | role_name | PUBLIC] TO Public을 통해 모든 사용자들에게 권한을 한 번에 부여할 수..
Chap 5-4. DataBase 뷰(View) 1. 뷰(VIEW)의 정의 뷰(VIEW)는 사용자들에게 '특정 자료들을 가공하여 제공하기 위해 한 개 이상의 테이블들로부터 유도된 테이블'이다 물리적으로 실재하지는 않지만, 사용자들에게 실재하는 것처럼 제공되기에 가상 테이블이라고도 한다. 2. 뷰(VIEW)의 장단점 장점 데이터의 논리적 독립성을 제공한다 특정 쿼리 처리를 간단히 한다 접근 제어를 통한 자동 보안성을 제공한다 단점 독립적인 INDEX를 가질 수 없다 ALTER를 통해 뷰를 변경할 수 없다 뷰에 대한 삽입 삭제 읽기에 대한 제약이 따른다 3. 뷰(VIEW)의 특징 뷰 생성 SQL문 CREATE VIEW 뷰명(컬럼1,컬럼2,...) AS SELECT문; 뷰의 INSERT(삽입)문은 뷰의 조건에 상관 없이 수행되나, UPDATE(갱신), DE..
트랜잭션과 스케줄 1. 트랜잭션(Transaction) 데이터베이스에서의 논리적 작업 단위를 트랜잭션이라고 표현한다. 트랜잭션은 Commit 과 Rollback 단위로 끊길 수 있는 작업 단위이다. 이러한 트랜잭션은 ACID의 특성을 지니고 있는데 다음과 같다. (A - atomicity, C - consistency, I - Isolation, D - durability) 원자성(Atomicity) : 트랜잭션 수행은 다 되던지 안되던지(부분적 수행 불가, Commit/Rollback) 일관성(Consistency) : 트랜잭션 수행은 DB를 일관적 상태에서 다른 일관적 상태로 옮기는 것 격리성(Isolation) : 트랜잭션이 동시에 수행되더라도 혼자서 수행한 것처럼(끼어들 수 없다, LOCK) 지속성(Durabili..