https://school.programmers.co.kr/learn/courses/30/lessons/59410 NULL 처리하기 - 동물의 생물 종, 이름, 성별 및 중성화 여부를 아이디 순으로 조회 - 이름이 없는 동물의 이름은 "No name"으로 표시 SELECT ANIMAL_TYPE, COALESCE(NAME,"No name"), SEX_UPON_INTAKE FROM ANIMAL_INS ORDER BY ANIMAL_ID https://school.programmers.co.kr/learn/courses/30/lessons/131112 강원도에 위치한 생산공장 목록 출력하기 - 강원도에 위치한 식품공장의 공장 ID, 공장 이름, 주소를 조회 - 공장 ID를 기준으로 오름차순 정렬 SELECT F..
분류 전체보기
https://www.acmicpc.net/problem/1806 1806번: 부분합 첫째 줄에 N (10 ≤ N < 100,000)과 S (0 < S ≤ 100,000,000)가 주어진다. 둘째 줄에는 수열이 주어진다. 수열의 각 원소는 공백으로 구분되어져 있으며, 10,000이하의 자연수이다. www.acmicpc.net 투 포인터와 누적 합 문제다. 주어진 배열에서 연속된 수들의 부분합 중에 s이상이 되는 수열 중, 가장 짧은 것의 길이를 구하는 문제다. 투 포인터를 사용하여 앞에서부터 포인터를 옮겨주며 해당 포인터들 사이의 누적 합 연산을 수행했다. 합이 s 미만이면 right 포인터를 한 칸 옮겨주어 합을 늘렸다. right 포인터가 끝에 다달았다면 반복문을 종료했다. (누적 합이 더 커질 수 ..
https://school.programmers.co.kr/learn/courses/30/lessons/59036 아픈 동물 찾기 - 아픈 동물(Sick)의 아이디와 이름을 조회 - 아이디 순으로 조회 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION = 'Sick' ORDER BY ANIMAL_ID; https://school.programmers.co.kr/learn/courses/30/lessons/59041 동명 동물 수 찾기 - 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회 - 이름이 없는 동물은 집계에서 제외 - 결과는 이름 순으로 조회 SELECT NAME, COUNT(*) AS COUNT FROM ANIMA..
https://www.acmicpc.net/problem/1947 1947번: 선물 전달 경우의 수를 1,000,000,000으로 나눈 나머지를 첫째 줄에 출력한다. www.acmicpc.net dp 문제다. 완전 순열로 본인이 본인 것을 선택하는 경우를 제외한 순열이다. n = 2인 경우 a - 2, b - 1 이렇게 한 가지 경우다. n = 3인 경우 a - 2, b - 3, c - 1 a - 3, b - 1, c - 2 이렇게 두 가지 경우다. n = 4인 경우 a - 2, b - 3, c - 4, d - 1 a - 2, b - 4, c - 1, d - 3 a - 2, b - 1, c - 4, d - 3 a - 3, b - 1, c - 4, d - 2 a - 3, b - 4, c - 1, d - 2..
https://www.acmicpc.net/problem/7983 7983번: 내일 할거야 내일(1일)부터 연속으로 최대 며칠 동안 놀 수 있는지를 출력한다. 가령, 답이 0이면, 내일 과제를 해야 하며, 1 이면, 모레에 과제를 해야 한다. www.acmicpc.net 그리디 문제다. 과제를 최대한 미뤄 내일부터 연속으로 최대 며칠 놀 수 있는지 구하는 문제다. 최대한 뒤로 미뤄야하기 때문에 맨 뒤에서부터 채워나갔다. 우선 마감일을 기준으로 정렬을 했다. 내림차순으로 데이터가 필요하지만 오름차순으로 정렬하고 뒤에서부터 접근했다. 마지막 마감일을 기준으로 걸리는 일수를 빼주고 그 후로는 이전 과제 시작일과 해당 과제 마감일 중 작은 값을 해당 과제의 마감일로 계산했다. 최종적으로 마감일이 가장 빠른 과제..
https://www.acmicpc.net/problem/2631 2631번: 줄세우기 KOI 어린이집에는 N명의 아이들이 있다. 오늘은 소풍을 가는 날이다. 선생님은 1번부터 N번까지 번호가 적혀있는 번호표를 아이들의 가슴에 붙여주었다. 선생님은 아이들을 효과적으로 보호하기 www.acmicpc.net dp문제다. 아이들을 옮기는데 다른 제한이 없으므로 이미 일부분 정렬되어 있는 아이들을 제외하고 움직이는 방법이 최선이다. 증가하는 가장 긴 부분수열을 구하고 전체 수열의 개수에서 부분 수열의 개수를 빼주면 된다. 배열을 순회하면서 해당 숫자를 기준으로 앞 쪽을 탐색한다. 앞 부분 숫자 중 해당 숫자보다 작은 숫자가 있다면 현재 dp배열의 값과 비교한다. if (arr[i] > arr[j]) dp[i] ..