전체 글

·코딩테스트
dfs 문제로 이번에는 재귀가 아니라 stack을 이용해 풀어봤다. def valid(r, c): condition = board[r][c] == 0 or board[r][c] == 3 return 0
·코딩테스트
기본적인 다익스트라, BFS 문제였다.  생각할 점은누적값을 저장할 공간 만들기값이 더 작을 경우에만 큐에 넣기칸 안에 있는 지 검사하기 - valid  함python 에서 false 가 아니라 False 임 - 대문자..최대값 쓰고 싶으면 float('inf') 사용하기def valid(n_x, n_y): if n_x = N or n_y >= N: return False return True def bfs(start): q = [start] min_board = [[float('inf')] * N for _ in range(N)] min_board[start[0]][start[1]] = 0 dx, dy = [1, 0, -1, 0], [0, 1, 0, -..
·코딩테스트
BFS를 해결한 풀이로,문제를 제대로 안 읽어서 시간이 더 소요됐다. 추적 시작점이 2였다는 것...! 그냥 맨 끝 요소가 타깃인 줄 알았다.  visited를 Set으로 쓰면 조금더 성능이 향상되지 않을까 싶다!(x, y 의 쓰임이 좌표값과는 다르다.. row, column 값인데 양해 바랍니다...)def valid(x, y, visited): return 0
·데이터베이스
여러 개의 칼럼을 ALTER COLUMN으로 동시에 수정하는 구문은 지원하지 않는다트랜젝션의 특징 - 원자성, 일관성, 고립성, 영속성일관성 : 트랜젝션 이전에 데이터베이스 내용이 잘못되지 않았다면, 이후에도 잘못되지 않아야 함외래키는 null 값을 가질 수 있다.update set a.sal = b.sal - 500 where a.job = 'clerk' delete where a.sal  이렇게 해석된다. UNIQUE로 설정되면 후보키ALTER TABLE 테이블명 [DROP/ADD 등등] COLUMN 칼럼명;표준 데이터 타입 - Char, Varchar2, NumberDelete/ Modify Action Cascade : Master 삭제 시 child도 같이 삭제Set Null : Master 삭..
·데이터베이스
INTERSECT - 여러 개의 SQL문의 결과에 대한 교집합으로 중복된 행은 하나의 행으로 출력한다. GROUPING SET, CUBE, ROLLUP - 집계 유무 잘 파악하기UNION ALL(중복 있음), UNION(중복 없음)  - 칼럼명이 다를 때 어떻게 되는 지 EXIST - 특정 컬럼값이 존재하는지 확인, IN 특정 값이 존재하는지 확인GRANT - 권한을 주는 거, REVOKE - 권한을 취소하는 거 GRANT SELECT ON A_User.TB_A TO B_userDROP [객체 유형] 객체이름객체유형 - TABLE, SCHEMA, DATABASE, INDEX ...RESTRICT 옵션: 기본 동작으로, 삭제 대상 객체가 의존성을 가지고 있으면 삭제를 차단합니다.REVOKE문을 사용하여 권..
·데이터베이스
DML : SELECT, INSERT, UPDATE, DELETE - (책에서는 SELECT는 DML로 분류)DDL : CREATE, ALTER, DROP, RENAMEDCL : GRANT, REVOKETCL : ROLLBACK, COMMIT NULL 값과의 연산은 NULL 값을 리턴, NULL 값과의 비교연산은 FALSENULL 값을 조건절에서 사용하는 경우는 IS NULL, IS NOT NULL을 사용해야 한다. 오라클에서는 '' - NULL로 인식, SQL server에서는 '' 로 인식 - 조회시 주의하기BETWEEN a AND b : a 와 b 값 (포함) 사이IN (list)  : 리스트에 있는 값 중에서 어느 하나라도 일치하면 된다. CHR(10) - 줄바꿈1/24/60 = 1분, 1/24/..
·데이터베이스
모델링은 단지 시스템 구현만을 위해 수행하는 테스크가 아니며, 업무분석 및 업무형상화 하는 목적도 있다. 데이터 모델링 주의점 - 중복, 유연성, 비일관성(업무 변경에 의해 큰 변화가 생기면 안됨)외부스키마, 개념스키마, 내부스키마 - 통합적인 관점의 뷰 = 개념 스키마관계의 명칭은 관계 표현에서 매우 중요한 부분에 해당엔터티는 속성 2개이상, 인스턴스 2개 이상, 관계가 있어야 함, 반드시 업무 프로세스에 의해 이용되어야 함발생 시점에 따른 엔터티 분류 - 기본, 키 엔터티 / 중심 엔터티 / 행위 엔터티정규화제 1차 정규화 : 속성값이 여러개인거 분리해주기(원자값만 가지도록)제 2차 정규화 : 기본키에 종속적이지 않은거 분리해주기제 3차 정규화 : 이행적 종속 없애기 - 이행적 종속이란, 기본키 말고..
·코딩테스트
백트래킹 문제이다.  조건은 1. 교환 횟수를 다 쓰거나2. 이미 방문했던 노드이면 더이상 탐색하지 않는다.  def dfs(cnt): global answer if cnt == c: answer = max(answer, int(''.join(map(str, lst)))) return for i in range(len(lst) - 1): for j in range(i + 1, len(lst)): lst[i], lst[j] = lst[j], lst[i] check = ''.join(lst) if (cnt, check) not in track: df..
yolang
프로그래밍 기록장