분류 전체보기69 백준 1208번 부분수열의 합 2 - 문제 설명 N개의 정수로 이루어진 수열이 있을 때, 크기가 양수인 부분수열 중에서 그 수열의 원소를 다 더한 값이 S가 되는 경우의 수를 구하는 프로그램을 작성하시오. - 입력 1) 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 40, |S| ≤ 1,000,000) 2) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. * 주어지는 정수의 절댓값은 100,000을 넘지 않는다. - 출력 첫째 줄에 합이 S가 되는 부분수열의 개수를 출력한다. * 문제 풀이의 핵심 1. 브루트포스 부분수열의 합 2 문제는 주어진 집합의 모든 부분수열을 구한 뒤 더한 값이 S가 되는지 되지 않는지에 대해서 검사해야하는 문제 입니다. N의 제한은 1에서 시작해 최대 40 이기 때문에 집.. 2020. 11. 26. 프로그래머스 입양 시각 구하기(1) (GROUP BY) - 문제 핵심 조건 1. 09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회 => 각 시간대별로 입양이 몇 건이나 발생했는지 조회 : GROUP BY, HOUR => 09:00부터 19:59까지 : WHERE hour(datetime) >= 9 and hour(datetime) 시간대 순으로 정렬 : ORDER BY, HOUR * 칼럼명 : DATETIME(입양시각) - 정답 코드 SELECT HOUR(DATETIME), COUNT(DATETIME) FROM ANIMAL_OUTS WHERE HOUR(DATETIME) >= 9 AND HOUR(DATETIME) < 20 GROUP BY HOUR(DATETIME) ORDER BY HOU.. 2020. 11. 22. 프로그래머스 있었는데요 없었습니다 (JOIN) - 문제 핵심 조건 1. 보호 시작일보다 입양일이 더 빠른 동물의 아이디와 이름을 조회하는 SQL문을 작성 => 보호 시작일과 입양일 테이블에 둘 다 동물이 존재해야 하므로 INNER JOIN => 시작일보다 입양일이 더 빠른 동물 : WHERE ins.datetime > outs.datetime 2. 결과는 보호 시작일이 빠른 순으로 조회해야합니다. => 보호 시작일 순으로 조회 : ORDER BY * 테이블 : ANIMAL_INS(보호소에 들어온 동물들), ANIMAL_OUTS(보호소에서 나간 동물들) * 칼럼명 : ANIMAL_ID(아이디), NAME(이름), DATETIME(보호시작일) - 정답 코드 SELECT INS.ANIMAL_ID, INS.NAME FROM ANIMAL_INS AS INS .. 2020. 11. 21. 프로그래머스 보호소에서 중성화한 동물 (JOIN) - 문제 핵심 조건 1. 보호소에 들어올 당시에는 중성화 되지 않았지만, 보호소를 나갈 당시에는 중성화된 동물의 아이디와 생물 조회 => 보호소에 들어올 당시에는 중성화 되지 않았지만, 보호소를 나갈 당시에는 중성화된 동물 : ins 테이블과 outs 테이블 모두 동물의 ID가 같아야 하고 존재해야 하므로 INNER JOIN => 보호소에 들어올 당시에는 중성화 되지 않음 : Spayed 와 Neutered 를 포함하지 않음 -> LIKE, AND => 보호소를 나갈 당시에는 중성화 되지 않음 : Spayed 또는 Neutered 를 포함함 -> LIKE, OR * 중성화를 거치지 않은 동물 : Intact, 중성화를 거친 동물 : Spayed 또는 Neutered 2. 이름을 조회하는 아이디 순으로 조.. 2020. 11. 20. 프로그래머스 없어진 기록 찾기 (JOIN) - 문제 핵심 조건 1. 입양을 간 기록은 있는데, 보호소에 들어온 기록이 없는 동물의 ID와 이름을 ID 순으로 조회 => 입양을 간 기록은 있는데, 보호소에 들어온 기록이 없는 동물 : INS를 left, OUTS를 right 라고 보았을 때, RIGHT JOIN (동물의 ID가 INS 에는 없고, OUTS에는 있어야 하기 때문임) => 보호소에 들어온 기록이 없는 동물 : INS에서의 동물 아이디 값이 NULL => ID 순으로 조회 : ORDER BY * 테이블 : ANIMAL_INS(보호소에 들어온 동물들), ANIMAL_OUTS(보호소에서 나간 동물들) * 칼럼명 : ANIMAL_ID(아이디), NAME(이름) - 정답 코드 SELECT OUTS.ANIMAL_ID, OUTS.NAME FROM .. 2020. 11. 19. 프로그래머스 동명 동물 수 찾기 (GROUP BY) - 문제 핵심 조건 1. 동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회 => 모든 동물의 이름과 보호 시작일을 조회 : SELECT => 이름이 쓰인 횟수를 조회 : COUNT() => 동물 이름 중 두 번 이상 : 이름이 사용된 횟수를 집계 해야함 - GROUP BY, HAVING 2. 동물 보호소에 들어온 동물 이름 중 이름이 없는 동물은 집계에서 제외 => 이름이 없는 동물은 집계에서 제외 : 서브쿼리 사용, IS NOT NULL 3. 결과는 이름 순으로 조회 => ORDER BY * 칼럼명 : NAME(이름) - 정답 코드 SELECT NAME, COUNT(*) FROM ( SELECT * FROM ANIMAL_INS WHERE NAME IS NOT N.. 2020. 11. 18. 프로그래머스 아픈 동물 찾기 (SELECT) - 문제 핵심 조건 1. 동물 보호소에 들어온 동물 중 아픈 동물의 아이디와 이름을 조회 => 아픈 동물의 아이디와 이름을 조회 : SELECT, WHERE * 아픈 동물 : INTAKE_CONDITION 칼럼의 값이 "Sick" 이다. 2. 결과는 아이디 순으로 조회 => ORDER BY * 칼럼명 : NAME(이름), DATETIME(보호 시작일), ANIMAL_ID(아이디), INTAKE_CONDITION(동물이 아픈지 여부) - 정답 코드 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION = "Sick" ORDER BY ANIMAL_ID; - 문제링크 : programmers.co.kr/learn/courses/30/lessons/590.. 2020. 11. 17. 프로그래머스 역순 정렬하기 (SELECT) - 문제 핵심 조건 1. 동물 보호소에 들어온 모든 동물의 이름과 보호 시작일을 조회 => 모든 동물의 이름과 보호 시작일을 조회 : SELECT 2. 결과는 ANIMAL_ID 역순으로 보여주세요. => ORDER BY, DESC * 칼럼명 : NAME(이름), DATETIME(보호 시작일), ANIMAL_ID - 정답 코드 SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC; - 문제링크 : programmers.co.kr/learn/courses/30/lessons/59035 코딩테스트 연습 - 역순 정렬하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, .. 2020. 11. 16. 프로그래머스 모든 레코드 조회하기 (SELECT) - 문제 핵심 조건 1. 모든 동물의 정보를 ANIMAL_ID순으로 조회 => 모든 동물의 정보를 조회 : *, SELECT => ANIMAL_ID순으로 조회 : ORDER BY - 정답 코드 SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID; - 문제링크 : programmers.co.kr/learn/courses/30/lessons/59034 코딩테스트 연습 - 모든 레코드 조회하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 pro.. 2020. 11. 15. 이전 1 2 3 4 5 6 ··· 8 다음