반응형

분류 전체보기 509

[프로그래머스][SQL] GROUP BY 3. 입양 시각 구하기 (2)

programmers.co.kr/learn/courses/30/lessons/59413 코딩테스트 연습 - 입양 시각 구하기(2) ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 programmers.co.kr 사고 과정 - DATETIME에는 0~23시까지 모든 값이 있지 않다. 따라서 변수를 만들어서 출력되는 시간을 나타내야 한다. - SET @valuable := value : SET 명령어를 통해 @를 붙이면 변수를 만들 수 있다. 변수에 값을 지정할 때, =가 아닌 :=를 ..

[프로그래머스][SQL] GROUP BY 3. 입양 시각 구하기 (1)

programmers.co.kr/learn/courses/30/lessons/59412 코딩테스트 연습 - 입양 시각 구하기(1) ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 programmers.co.kr 사고 과정 - HOUR() : DATETIME 자료형에서 시간을 가져온다. - DAY() : DATETIME 자료형에서 날짜를 가져온다. - 그외는 이곳에서 알아보자. 1. Having에 조건을 걸어주는 방법이다. 이때 주의할 점은, select에서 column을 HOUR로 ..

[프로그래머스][SQL] GROUP BY 2. 동명 동물 수 찾기

programmers.co.kr/learn/courses/30/lessons/59041 코딩테스트 연습 - 동명 동물 수 찾기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 사고 과정 - group by로 묶으면 이름별로 묶이게 된다. 이때 묶인 행이 2개 이상이 되어야 한다. 따라서 having을 이용하여 group by에 조건을 걸어준다. - Having : 집계함수를 가지고 조건을 만들 때 사용한다. where은 집계함수를 사용할..

[프로그래머스][SQL] GROUP BY 1. 고양이와 개는 몇 마리 있을까

programmers.co.kr/learn/courses/30/lessons/59040 코딩테스트 연습 - 고양이와 개는 몇 마리 있을까 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 사고 과정 - Group by : column에서 값이 같은 것끼리 묶어준다. 구현(C++) 1 2 3 4 5 select a.animal_type, count(a.animal_type) from animal_ins as a group by a.anima..

[프로그래머스][SQL] SUM, MAX, MIN 4. 중복 제거하기

programmers.co.kr/learn/courses/30/lessons/59408 코딩테스트 연습 - 중복 제거하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 사고 과정 - COUNT() : 매개변수로 들어온 column의 행의 개수를 셉니다. - Distinct : 중복을 제거합니다. - 이름이 없는(null) 것은 포함하지 않아야 하므로 where로 조건을 붙여줍니다. 구현(C++) 1 2 3 4 -- 코드를 입력하세요 S..

[백준][C++] 1719 택배

www.acmicpc.net/problem/1719 1719번: 택배 첫째 줄에 두 수 n과 m이 빈 칸을 사이에 두고 순서대로 주어진다. n은 집하장의 개수로 200이하의 자연수, m은 집하장간 경로의 개수로 10000이하의 자연수이다. 이어서 한 줄에 하나씩 집하장간 경 www.acmicpc.net 알고리즘 종류 - 최단거리 - 다익스트라 사고 과정 - 다익스트라에서 다음 노드 정보를 우선순위 큐에 저장할 때, 가장 먼저 들린 집하장 노드도 넣어서 저장한다. 구현(C++) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 ..

카테고리 없음 2021.03.04

[백준][C++] 2665 미로만들기

www.acmicpc.net/problem/2665 2665번: 미로만들기 첫 줄에는 한 줄에 들어가는 방의 수 n(1≤n≤50)이 주어지고, 다음 n개의 줄의 각 줄마다 0과 1이 이루어진 길이가 n인 수열이 주어진다. 0은 검은 방, 1은 흰 방을 나타낸다. www.acmicpc.net 알고리즘 종류 - 최단거리 - DP 사고 과정 - cost 2차원 배열을 좌측상단에서 BFS로 이동하면서 최소 비용만 저장한다. 저장하면 queue에 넣어서 계속 BFS를 수행한다. 이렇게 cost 2차원 배열에는 최소 비용만 기록된다. 구현(C++) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3..

[백준][C++] 9934 완전 이진 트리

www.acmicpc.net/problem/9934 9934번: 완전 이진 트리 상근이는 슬로베니아의 도시 Donji Andrijevci를 여행하고 있다. 이 도시의 도로는 깊이가 K인 완전 이진 트리를 이루고 있다. 깊이가 K인 완전 이진 트리는 총 2K-1개의 노드로 이루어져 있다. (아래 www.acmicpc.net 알고리즘 종류 - 트리 - 그래프 사고 과정 - 중위 순회는 root를 중간에 출력하게 된다. 그리고 문제에서 제시된 트리는 완전 이진 트리이다. 따라서 중위 순회의 가운데 있는 값은 root가 된다. 1. 순회 배열에서 mid로 root를 찾는다. 2. root를 기준으로 좌우 트리를 나누고 다시 mid로 root를 찾는다. 구현(C++) 1 2 3 4 5 6 7 8 9 10 11 1..

카테고리 없음 2021.03.04

[백준][C++] 5639 이진 검색 트리

www.acmicpc.net/problem/5639 5639번: 이진 검색 트리 트리를 전위 순회한 결과가 주어진다. 노드에 들어있는 키의 값은 106보다 작은 양의 정수이다. 모든 값은 한 줄에 하나씩 주어지며, 노드의 수는 10,000개 이하이다. 같은 키를 가지는 노드는 없다 www.acmicpc.net 알고리즘 종류 - 트리 - 그래프 사고 과정 - 전위 순회로 이진트리 만드는 방법 1. 전위 순회는 root를 먼저 출력하고 자식들을 출력하기 때문에 맨 앞에 root가 나오게 된다. 따라서 전위 순회를 순서대로 넣어주면 이진트리를 만들 수 있다. 구현(C++) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29..

[백준][C++] 18808 스티커 붙이기

www.acmicpc.net/problem/18808 18808번: 스티커 붙이기 혜윤이는 최근에 다양한 대회를 참여하면서 노트북에 붙일 수 있는 스티커들을 많이 받았다. 스티커는 아래와 같이 사각 모눈종이 위에 인쇄되어 있으며, 스티커의 각 칸은 상하좌우로 모두 연 www.acmicpc.net 알고리즘 종류 - 구현 사고 과정 1. 스티커를 순서대로 받아서 sticker 배열에 저장한다. 2. for문 2개로 노트북 크기인 mat 배열을 돌면서 스티커를 붙일 수 있는지 확인한다. 2-1. 확인 방법은 mat위치와 sticker의 위치를 비교하는 것이다. 3. 붙일 수 있으면 붙인다. sticker 배열을 그대로 노트북 mat 배열에 그대로 옮기면 된다. 4. 붙일 수 없으면 회전시킨다. 구현(C++) ..

반응형