본문 바로가기

알고리즘34

프로그래머스 DATETIME에서 DATE로 형 변환 (String, Date) - 문제 핵심 조건 1. 각 동물의 아이디와 이름, 들어온 날짜를 조회하는 SQL문을 작성해주세요. => 들어온 날짜 : 결과에 맞게 YYYY-MM-DD 형식을 만들기 위해서 DATETIME 값의 왼쪽 10 개 값을 취하면 된다, LEFT 2. 이때 결과는 아이디 순으로 조회해야 합니다. => 아이디 순으로 정렬 : ORDER BY - 정답 코드 SELECT ANIMAL_ID, NAME, LEFT(DATETIME, 10) AS 날짜 FROM ANIMAL_INS ORDER BY ANIMAL_ID; - 문제링크 : programmers.co.kr/learn/courses/30/lessons/59414 코딩테스트 연습 - DATETIME에서 DATE로 형 변환 ANIMAL_INS 테이블은 동물 보호소에 들어온.. 2020. 12. 8.
프로그래머스 이름에 el이 들어가는 동물 찾기 (String, Date) - 문제 핵심 조건 1. 동물 보호소에 들어온 동물 이름 중, 이름에 EL이 들어가는 개의 아이디와 이름을 조회하는 SQL문을 작성해주세요. => 이름에 EL이 들어가는 개 : LIKE, WHERE * % 위치에 따라 포함할 글자 영역이 정해진다. 2. 이때 결과는 이름 순으로 조회해주세요. => 결과는 이름 순으로 정렬 : ORDER BY - 정답 코드 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE NAME LIKE'%EL%' AND ANIMAL_TYPE = "DOG" ORDER BY NAME; - 문제링크 : programmers.co.kr/learn/courses/30/lessons/59047 코딩테스트 연습 - 이름에 el이 들어가는 동물 찾기 ANIMAL_INS.. 2020. 12. 7.
프로그래머스 루시와 엘라 찾기 (String, Date) - 문제 핵심 조건 1. 동물 보호소에 들어온 동물 중 이름이 Lucy, Ella, Pickle, Rogan, Sabrina, Mitty인 동물 찾기 => 동물 중 이름이 Lucy, Ella, Pickle, Rogan, Sabrina, Mitty인 동물 찾기 : IN(,,,,,) 2. 아이디와 이름, 성별 및 중성화 여부를 조회 => 아이디와 이름, 성별 및 중성화 여부를 조회 : SELECT 컬럼1, 컬럼2, ... - 정답 코드 SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS WHERE NAME IN ("LUCY", "ELLA", "PICKLE", "ROGAN", "SABRINA", "MITTY") ORDER BY ANIMAL_ID; - 문제링크 :.. 2020. 12. 6.
백준 1525번 퍼즐 - 문제 설명 퍼즐에 어떤 수와 인접해 있는 네 개의 칸 중에 하나가 비어 있으면, 수를 그 칸으로 이동시킬 수가 있다. 물론 표 바깥으로 나가는 경우는 불가능하다. 우리의 목표는 초기 상태가 주어졌을 때, 최소의 이동으로 위와 같은 정리된 상태를 만드는 것이다. 정리된 퍼즐을 만들기 위해 필요한 최소 이동 횟수를 구하는 프로그램을 작성하시오. * 퍼즐이 정리된 상태 1 2 3 4 5 6 7 8 - 입력 1) 세 줄에 걸쳐서 표에 채워져 있는 아홉 개의 수가 주어진다. 한 줄에 세 개의 수가 주어지며, 빈 칸은 0으로 나타낸다. - 출력 1) 첫째 줄에 최소의 이동 횟수를 출력한다. *이동이 불가능한 경우 -1을 출력한다. * 문제 풀이의 핵심 1. BFS 이 문제는 퍼즐의 빈칸을 채우기 위해 상하좌우의.. 2020. 12. 5.
프로그래머스 고양이와 개는 몇 마리 있을까 (GROUP BY) - 문제 핵심 조건 1. 동물 보호소에 들어온 동물 중 고양이와 개가 각각 몇 마리인지 조회 => 동물 중 고양이와 개가 각각 몇 마리인지 조회 : COUNT, GROUP BY * 예제 테이블에는 Cat, Dog 이외의 animal_type 은 없음 2. 고양이를 개보다 먼저 조회해주세요. => 시간대 순으로 정렬 : ORDER BY (알파벳 순, Cat > Dog) - 정답 코드 SELECT ANIMAL_TYPE, COUNT(ANIMAL_TYPE) FROM ANIMAL_INS GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE - 문제링크 : programmers.co.kr/learn/courses/30/lessons/59040 코딩테스트 연습 - 고양이와 개는 몇 마리 있을까 .. 2020. 12. 4.
프로그래머스 중복 제거하기 (SUM, MAX, MIN) - 문제 핵심 조건 1. 동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL 문을 작성해주세요. => 동물의 이름은 몇 개인지 조회 : COUNT 2. 이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 칩니다. => 중복되는 이름은 하나 : DISTINCT - 정답 코드 SELECT COUNT(DISTINCT(NAME)) AS "COUNT" FROM ANIMAL_INS - 문제링크 : programmers.co.kr/learn/courses/30/lessons/59408 코딩테스트 연습 - 중복 제거하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYP.. 2020. 12. 3.
프로그래머스 이름이 있는 동물의 아이디 (IS NULL) - 문제 핵심 조건 1. 동물 보호소에 들어온 동물 중, 이름이 있는 동물의 ID를 조회하는 SQL 문을 작성해주세요. => 이름이 있는 동물의 ID를 조회 : IS NULL 2. 단, ID는 오름차순 정렬되어야 합니다. => 오름차순 정렬 : ORDER BY - 정답 코드 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL; - 문제링크 : programmers.co.kr/learn/courses/30/lessons/59407 코딩테스트 연습 - 이름이 있는 동물의 아이디 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATE.. 2020. 12. 2.
백준 13913번 숨바꼭질 4 - 문제 설명 수빈이는 현재 점 N 에 있고, 동생은 점 K 에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 구하는 프로그램을 작성하시오. - 입력 1) 첫 번째 줄에 수빈이가 있는 위치 N과 동생이 있는 위치 K가 주어진다. (0 ≤ N ≤ 100,000), (0 ≤ K ≤ 100,000) - 출력 1) 첫째 줄에 수빈이가 동생을 찾는 가장 빠른 시간을 출력한다. 2) 둘째 줄에 어떻게 이동해야 하는지 공백으로 구분해 출력한다. * 문제 풀이의 .. 2020. 12. 1.
백준 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.