전체 글 129

[MySQL] 프로그래머스 SQL JOIN 답 해설

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #1 없어진 기록 찾기 WHERE문에서 이름이 널 값인 데이터를 비교해준다. IS를 사용해야 한다. =를 사용하면 안된다. SELECT OUTS.ANIMAL_ID, OUTS.NAME FROM ANIMAL_OUTS AS OUTS LEFT OUTER JOIN ANIMAL_INS AS INS ON OUTS.ANIMAL_ID = INS.ANIMAL_ID WHERE INS.ANIMAL_ID IS NULL ORDER BY OUTS.ANIMAL_ID #2 있었는데요 없었습니다 INS.DATETIME > OUTS.DATET..

[MySQL] 프로그래머스 SQL IS NULL 답 해설

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #1 이름이 없는 동물의 아이디 WHERE문에서 이름이 널 값인 데이터를 비교해준다. IS를 사용해야 한다. =를 사용하면 안된다. SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL #2 이름이 있는 동물의 아이디 IS NOT을 하면 널 값이 아닌 데이터를 뜻한다. SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL #3 NULL 처리하기 IFNULL을 사용하면 해당 값이 널 값이면 뒤에 데이터로 대체 해준다. 지금은 ..

[MySQL] 프로그래머스 SQL GROUP BY 답 해설

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #1 고양이와 개는 몇 마리 있을까 GROUP BY로 고양이와 개로 나눈다음 COUNT로 그 수를 세주면 된다. SELECT ANIMAL_TYPE, COUNT(ANIMAL_TYPE) AS count FROM ANIMAL_INS GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE #2 동명 동물 수 찾기 이름으로 나눈다음 COUNT한 값이 1보다 크면 이라는 조건을 걸어준다. HAVING은 GROUP BY 뒤에 사용하여 그룹화할 것의 조건을 걸어주도록 한다. SELECT NAME, COU..

[MySQL] 프로그래머스 SQL SUM, MAX, MIN 답 해설

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #1 최댓값 구하기 MAX 함수 사용 SELECT MAX(DATETIME) AS 시간 FROM ANIMAL_INS #2 최솟값 구하기 MIN 함수 사용 SELECT MIN(DATETIME) AS 시간 FROM ANIMAL_INS #3 동물 수 구하기 COUNT 함수 사용 SELECT COUNT(*) AS count FROM ANIMAL_INS #4 중복 제거하기 COUNT 함수에 DISTINCT 중복 제거 사용 SELECT COUNT(DISTINCT NAME) AS count FROM ANIMAL_INS WH..

[MySQL] 프로그래머스 SQL SELECT 답 해설

#1 모든 레코드 조회하기 *은 모든 칼럼을 선택한다. SELECT * FROM ANIMAL_INS #2 역순 정렬하기 ORDER BY 칼럼 DESC -> 내림차순으로 정렬 SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC #3 아픈 동물 찾기 MySQL에서는 =이 대입이 아닌 비교연산이다. SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION = 'Sick'; #4 어린 동물 찾기 NOT IN은 제외를 뜻한다. SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION NOT IN ('Aged') #5 동물의 아이디와 이름 ASC는 오..

[Python] 백준 20040 사이클 게임

20040번: 사이클 게임 사이클 게임은 두 명의 플레이어가 차례대로 돌아가며 진행하는 게임으로, 선 플레이어가 홀수 번째 차례를, 후 플레이어가 짝수 번째 차례를 진행한다. 게임 시작 시 0 부터 n − 1 까지 고유한 www.acmicpc.net 유니온 파인드 처음 파이썬으로 돌렸을 때 런타임 에러가 났다. for문에서 find함수 사용을 없애고, union함수 내에서 인덱스 값을 저장하도록 했다. 그리고 합칠 때 부모의 최솟값으로 통일 되게 했는데 이렇게 안하면 런타임 에러가 났다. 1) 입력 받은 두 개의 점을 유니온 함수로 합친다. 2) 두개의 점의 부모가 다르면 합치고, 부모가 같으면 게임 끝. 3) 최초의 게임 끝일 때의 인덱스 값을 endgame에 저장하고 출력. 전체 코드 import s..

[Python] 백준 1504 특정한 최단 경로

1504번: 특정한 최단 경로 첫째 줄에 정점의 개수 N과 간선의 개수 E가 주어진다. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) 둘째 줄부터 E개의 줄에 걸쳐서 세 개의 정수 a, b, c가 주어지는데, a번 정점에서 b번 정점까지 양방향 길이 존 www.acmicpc.net 다익스트라 알고리즘 1 -> N까지 가야하고 v1, v2를 거쳐야 한다. 양뱡향이므로 그래프에 저장할 때 둘 다 저장해야한다. 우선순위 힙을 사용하고 heappush()로 값을 넣고 heappop()으로 값을 추출한다. 1) 1에서 출발, v1에서 출발, v2에서 출발하는 세가지 distance를 구한다. 2) 1 -> v1 -> v2 -> N 과 1 -> v2 -> v1 -> N을 비교해서 최솟값이 답이다. 3) 갈..

[Python] 백준 11404 플로이드

11404번: 플로이드 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 www.acmicpc.net 플로이드 와샬 알고리즘 1) i 에서 j 까지의 최단 거리를 (i ~ k + k ~ j)와 비교하며 업데이트 2) INF 값 그대로면 0출력, 아닐시 거리 값 출력 전체 코드 import sys input = sys.stdin.readline N = int(input()) M = int(input()) INF = sys.maxsize dosi = [[INF for _ in range(N+1)] for __ in range(N+1)] for _ in range(M)..

[넷플릭스] 경이로운 소문 짧 리뷰

독특한 소재 악귀, 카운터, 3단계, 땅 등 영혼과 관련된 판타지 요소를 다룬다. 처음엔 좀 어색했지만, 갈수록 괜찮았다. 생각보다 세계관이 크지만, 부분적으로 보여준다. 예를 들면 검찰이라던지, 외국 지사 등이다. 여주, 남주 도하나로 나오는 김세정님은 너무 예쁘시다. 연기도 많이 늘은 것 같다. 프로듀스 101때부터 봐왔고 구구단 시절도 응원했었는데, 솔로 가수로서 재능을 더 보여준 것 같다. 배우도 잘 어울린다. 소문 역인 조병규 배우님은 스카이 캐슬 때 처음 알게 되었는데 고등학생 연기도 잘 소화하는 것 같았다. 결국에는 이길 줄 알았는데..? 일단 남주가 힘숨찐 캐에 넘사벽 스킬을 가지고 있는 건 확실해 보였는데, 주변 조연들이 쉽게 죽어서 아쉬웠다. 특히 진짜 슬펐던 장면이 있었는데 스포여서 ..