목록분류 전체보기 (279)
HwangHub
Q. 아래 표를 참고하여 다음 물음에 답하시오. Q1. 5번 부서에서 근무하고, 급여(salary)가 30000 이상인 모든 직원의 성명(Fname, Lname)을 검색하라. SELECT Fname, Lname FROM Employee WHERE Dno = 5 AND salary >= 30000; 결과: Fname Lname John Smith Franklin Wong Ramesh Narayan Q2. ‘ProductX’ 프로젝트에서 주당 10시간 이상 작업한 5번 부서에서 근무하는 모든 직원의성명(Fname, Lname)을 검색하라. SELECT Fname,Lname FROM PROJECT , WORKS_ON, EMPLOYEE WHERE EMPLOYEE.Ssn = WORKS_ON.Essn AND Hou..
Q. 다음 표를 보고 아래 질문에 답하시오. 💡 문제를 풀기 전에 integrity contraints에 대해 간단하게 정리해보자. 1. entity integrity constraints - pk값은 null이 아니여야 한다. - pk값은 중복되지 않는 값이여야 한다. 2. referential integrity constraints - fk값은 관계성을 갖는 레코드의 유효한 PK 값이여야 한다. Answers. 1) PROJECT 테이블은 Pnumber를 PK 칼럼으로 갖고 있으며, Dnum은 Department 테이블의 PK값을 FK로써 가지고 있다. 이 때, 주어진 Insert 문 insert into PROJECT에 따르면 Pnumber는 4로 입력되기 때문에 null도 아니고 중복되지도 않는 ..
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 문제 해석 a,b,c,d,e,f가 여러개 등장할 경우에는 각 미지수에 적합한 숫자를 할당하는 것이 중요 완탐으로 조합을 탐색 -> 백트래킹으로 a,b,c,d,e,f 각각에 1~4를 배정한 뒤, 그 조합에 따른 결과값을 PQ에 넣구, 최대 결과를 출력(PQ.poll())하면 될듯. 문제 풀이 import java.io.*; import java.util.*; public class Main { private static List li = new ArrayList(); private static Queue ..
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 문제 해석 이 문제는 선분들의 조합을 완전 탐색하여, 겹치지 않는 가장 많은 선분 선택 조합을 구하는 문제이다. 따라서 백트래킹을 이용하여 풀어낼 수 있다. 문제 풀이 [실패] 처음 떠올린 로직은 다음과 같다. 재귀 과정에서 앞뒤로 for loop을 활용하여 선분들을 수직선 상에 추가해주고 초기화하는 로직을 배치해 주었다. package 코드트리.완전탐색.백트래킹; import java.io.IOException; import java.util.HashMap; import java.util.Map; im..
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 문제 해석 * 양의 정수 x에 2를 곱하는 연산을 n번 반복 1. 2를 곱할 때마다 매번 현재 숫자의 범위에 대한 단서 제공 2. 가능한 x값 중 최솟값 구하는 프로그램 작성 -> n이 10 이하의 양의 정수이므로 완탐 로직 중 브루트포스로도 충분히 풀 수 있다. 풀이 로직 n loop 아래에 주어지는 두 개의 수를 입력 두 수를 2의 거듭제곱으로 나눠서 x의 범위를 추산 해당 범위의 숫자를 모두 트리맵에 등록하고, count. for loop 끝나면 tm의 키를 순회하며 value 중에서 모든 조건을 ..
💡 기본적으로 redis-cli에서는 대소문자 구분이 되지 않습니다. 따라서 대문자로 표기한 것은 가독성을 위한 것이라 이해하면 됩니다.Redis 실행하기sudo service redis-server startRedis-cli 시작하기redis-cliRedis가 잘 실행되고 있는지 확인하기PING // response : PONG Create여기서 hello가 key, 그리고 redis가 키에 대한 value, 저장에 성공하면 OK 반환, 동일한 key에 다른 value 저장을 수행하면 update로 수행SET hello redis Readhello 라는 키에 대한 value를 반환해 줌. 여기선 “redis”, 없는 값을 조회하려고 하면 nil 반환 (null과 유사한 의미)GET hello Delet..
MacOSInstall Redis on macOSUse Homebrew to install and start Redis on macOSredis.ioHomeBrew 설치/bin/bash -c "$(curl -fsSL )" Redis 설치brew install redis Redis 실행brew services start redis Redis 종료brew services stop redis WindowsInstall Redis on WindowsUse Redis on Windows for developmentredis.ioRedis 설치curl -fsSL | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg echo "deb [signe..
Redis 소개REmote DIctionary ServerRemote : 각각의 서버의 로컬에 존재하는 것이 아닌, 다수의 서버가 공통적으로 사용할 수 있도록 원격에 존재Dictionary : 해시맵과 같이 key-value 형태로 구성되어 있어, 자료를 조회할 때 상수 시간 O(1) 으로 실행즉, 레디스는 다수의 서버가 공유할 수 있는 해시 테이블 데이터베이스데이터베이스 total ranking : 6위, key-value DB ranking 1위 주요 특징in memory : 모든 데이터를 RAM에 저장 (백업/스냅샷 제외)single threaded : 단일 thread에서 모든 task를 처리한다. 멀티 스레드는 프로그램의 복잡도를 증가시킴. 레디스는 단순한 디자인을 적용하여 뛰어난 성능을 자랑하..
조건PACK 테이블 레코드 : 총 10246개 개선 전 성능 : 약 15초개선 전 쿼리의 문제 : 아래에서 확인할 수 있듯이 쿼리에서 N+1 이슈가 지독하게 발생 ... ... ... Hibernate: select pocalist0_.pack_id as pack_id22_1_0_, pocalist0_.id as id1_1_0_, pocalist0_.id as id1_1_1_, pocalist0_.album_id as album_i20_1_1_, pocalist0_.poca_category_id as poca_cat2_1_1_, pocalist0_.comment_count as comment_3_1_1..
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 문제 해석 이 문제는 모든 경우의 수를 순회하면서 '아름다운 수'인지 판단하고, 그 수를 세는 문제이다. n도 10 이하의 자연수이므로 완전 탐색 알고리즘 중 하나를 사용하는 것이 합리적이다. 그 중에서 이번에는 n에 따라 파악해야 하는 대상 숫자의 자릿수가 변동되므로 완전탐색 중 백트래킹을 이용하여 경우의 수를 탐색하고, 탐색된 경우의 수가 '아름다운 수'인지 확인하는 함수를 작성해서 true일 때마다 count할 수 있도록 연산하면 된다. 풀이 코드 import java.io.BufferedReade..