CodingTest Practice 41

프로그래머스 : 우유와 요거트가 담긴 장바구니 (SQL, ORACLE)

https://programmers.co.kr/learn/courses/30/lessons/62284 코딩테스트 연습 - 우유와 요거트가 담긴 장바구니 CART_PRODUCTS 테이블은 장바구니에 담긴 상품 정보를 담은 테이블입니다. CART_PRODUCTS 테이블의 구조는 다음과 같으며, ID, CART_ID, NAME, PRICE는 각각 테이블의 아이디, 장바구니의 아이디, 상품 종류, 가 programmers.co.kr 우유를 담은 장바구니를 저장하는 테이블과 요거트를 담은 장바구니를 저장하는 테이블을 카드 아이디가 같은 조건으로 INNER JOIN 해서 구했다. 정답 코드 SELECT M.CART_ID AS CART_ID FROM (SELECT CART_ID FROM CART_PRODUCTS WH..

프로그래머스 : 헤비 유저가 소유한 장소 (SQL, ORACLE)

https://programmers.co.kr/learn/courses/30/lessons/77487 코딩테스트 연습 - 헤비 유저가 소유한 장소 PLACES 테이블은 공간 임대 서비스에 등록된 공간의 정보를 담은 테이블입니다. PLACES 테이블의 구조는 다음과 같으며 ID, NAME, HOST_ID는 각각 공간의 아이디, 이름, 공간을 소유한 유저의 아이디를 programmers.co.kr SQL 고득점 키트에서 GROUP BY 쓸 때 딱히 문제가 없었는데 이번에는 "not a GROUP BY expression"이라는 에러를 처음으로 마주했다. 그래서 찾아보니 SELECT 절에는 GROUP BY 에 언급된 절이거나 집계함수만 들어갈 수 있다고 한다. (왜 이제야 안거지? 내일 당황할 뻔...) ht..

프로그래머스 : 정수 삼각형 (C++, Lv.3, DP_다이나믹 프로그래밍)

https://programmers.co.kr/learn/courses/30/lessons/43105?language=cpp 코딩테스트 연습 - 정수 삼각형 [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 programmers.co.kr 원래 'N으로 표현' 이란 문제를 먼저 풀고 싶었는데 그건 도저히 내 머리로는 아직 모르겠다.... DP는 너무 어렵다.... 소스코드 #include #include #include using namespace std; int height; vector vertex; vector tri; void dfs(int depth) { //모든 행을 다 담은 경우 return if(depth == height) retur..

프로그래머스 : N-Queen (C++, Lv.3, 백트래킹)

https://programmers.co.kr/learn/courses/30/lessons/12952?language=cpp 코딩테스트 연습 - N-Queen 가로, 세로 길이가 n인 정사각형으로된 체스판이 있습니다. 체스판 위의 n개의 퀸이 서로를 공격할 수 없도록 배치하고 싶습니다. 예를 들어서 n이 4인경우 다음과 같이 퀸을 배치하면 n개의 퀸은 programmers.co.kr 학부시절 인공지능 수업에서 한 번 다뤄봤던 문제여서 이해하는 데에는 쉬웠다. 근데 어떻게 대각선의 범위를 정해야 하는가가 첫 고민이었고 해당 좌표에 두지 못한다고 체크를 어떻게 해야 하는지가 두 번째 고민이었다. 첫 번째 고민의 경우 해당 좌표의 아래 depth에 해당하는 좌표들에 대해서만 체크 표시를 했다. (23~35li..

백준1753 : 최단경로 (C++, 골드4, 다익스트라)

https://www.acmicpc.net/problem/1753 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 www.acmicpc.net 이전에는 우선순위 큐가 아닌 그냥 큐를 이용해 풀었는데 우선순위로 하는게 더욱 빠른 시간에 정답을 찾을 수 있었다! 그리고 왜 자꾸 틀리나 다른 소스를 비교해봤는데 endl 때문이었다. endl 대신 "\n" 을 활용하자 (어차피 프로그래머스는 필요없긴 함;) 소스코드 #include #include #include #include #include #defin..

프로그래머스 : 배달 (C++, Lv.2, 다익스트라)

https://programmers.co.kr/learn/courses/30/lessons/12978 코딩테스트 연습 - 배달 5 [[1,2,1],[2,3,3],[5,2,2],[1,4,2],[5,3,1],[5,4,2]] 3 4 6 [[1,2,1],[1,3,2],[2,3,2],[3,4,3],[3,5,2],[3,5,3],[5,6,1]] 4 4 programmers.co.kr 다익스트라에 대해 공부하고 조금 이따가 풀었는데 그새 까먹어서 푸는데 애좀 먹었다... https://m.blog.naver.com/ndb796/221234424646 23. 다익스트라(Dijkstra) 알고리즘 다익스트라(Dijkstra) 알고리즘은 다이나믹 프로그래밍을 활용한 대표적인 최단 경로(Shortest Path) 탐... b..

백준 2252 : 줄 세우기 (C++, 위상정렬)

https://www.acmicpc.net/problem/2252 2252번: 줄 세우기 첫째 줄에 N(1 ≤ N ≤ 32,000), M(1 ≤ M ≤ 100,000)이 주어진다. M은 키를 비교한 회수이다. 다음 M개의 줄에는 키를 비교한 두 학생의 번호 A, B가 주어진다. 이는 학생 A가 학생 B의 앞에 서야 한다는 의 www.acmicpc.net 위상정렬에 대한 개념과 기본 코드를 익히고 한 번 풀어봤다. https://m.blog.naver.com/ndb796/221236874984 25. 위상 정렬(Topology Sort) 위상 정렬(Topology Sort)은 '순서가 정해져있는 작업'을 차례로 수행해야 할 때 그 순서를 결정해주기 ... blog.naver.com 예상보다 생각할 것이 너..

프로그래머스 : String, Date (SQL, ORACLE)

https://programmers.co.kr/learn/courses/30/lessons/59046?language=oracle 코딩테스트 연습 - 루시와 엘라 찾기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr IN ( ) 을 이용해 NAME의 값이 괄호 안에 있는 값과 같으면 조회 -- 코드를 입력하세요 SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS WHERE NAME IN (..

프로그래머스 : IS NULL (SQL, ORACLE)

https://programmers.co.kr/learn/courses/30/lessons/59039?language=oracle 코딩테스트 연습 - 이름이 없는 동물의 아이디 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr -- 코드를 입력하세요 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL ORDER BY ANIMAL_ID; https://programmers.co.kr/learn/cou..

프로그래머스 : GROUP BY (SQL, ORACLE)

https://programmers.co.kr/learn/courses/30/lessons/59040?language=oracle 코딩테스트 연습 - 고양이와 개는 몇 마리 있을까 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr -- 코드를 입력하세요 SELECT ANIMAL_TYPE,COUNT(*) as count FROM ANIMAL_INS GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE; https://p..