본문 바로가기

728x90

그 땐 Algorithm했지/그 땐 Programmers했지

(27)
[Self-study/level2] Python | 삼각 달팽이 문제 https://programmers.co.kr/learn/courses/30/lessons/68645 코딩테스트 연습 - 삼각 달팽이 5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11] programmers.co.kr 1차 풀이 def firstStep(list, num, x, y, counting): for i in range(counting): list[x][y] = num x += 1 num += 1 return (num, x - 1, y + 1) def secondStep(list, num, x, y, counting): for i in range(counting): l..
[self-study/level 3] SQL | 없어진 기록 찾기 | JOIN 문제 내 풀이 SELECT OUTS.ANIMAL_ID, OUTS.NAME FROM ANIMAL_OUTS AS OUTS LEFT JOIN ANIMAL_INS AS INS ON OUTS.ANIMAL_ID = INS.ANIMAL_ID WHERE INS.ANIMAL_ID IS NULL; 👉🏻JOIN: 두 테이블을 공유하고 있는 컬럼(PK or FK)으로 연결하여 하나의 테이블처럼 만든다. 이 문제에서 조건은 ANIMAL_ID이다. 👉🏻LEFT JOIN: JOIN을 기준으로 왼쪽 테이블을 모두 선택한다. (공통적인 부분 + 왼쪽 테이블에만 존재하는 부분) 👉🏻ON: 두 테이블간의 공유하고 있는 컬럼을 명시한다. ✍🏻ANIMAL_OUTS(왼쪽 테이블)를 두고 LEFT JOIN을 사용한 다음 ANIMAL_INS(오른..
[self-study/level 2] SQL | NULL 처리하기 | IS NULL 문제 내 풀이 SELECT ANIMAL_TYPE, IFNULL(NAME, 'No name') AS NAME, SEX_UPON_INTAKE FROM ANIMAL_INS ORDER BY ANIMAL_ID 👉🏻NULL값을 처리할 때 IFNULL을 사용한다. 파라미터로 NULL이 나올 필드와 해당 NULL을 어떻게 표시할 지 정해준다. ✍🏻IFNULL구문을 ORDER BY 아래에 사용하니 오류가 났다! SELECT 구문 안 쪽에 사용해야 할 것 같다.
[self-study/level 1] SQL | 이름이 있는 동물의 아이디 | IS NULL 문제 내 풀이 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME is not NULL ORDER BY ANIMAL_ID ASC 👉🏻is not NULL은 값이 있는 필드를 찾아준다.
[TAVE/level 2] Python | 멀쩡한 사각형 문제 https://programmers.co.kr/learn/courses/30/lessons/62048 코딩테스트 연습 - 멀쩡한 사각형 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 programmers.co.kr 내 풀이 👉🏻전체 사각형의 수(w * h)에서 w와 h를 합한 값과 최대공약수를 빼면 된다! ✍🏻2*3일 때는 (2 * 3) - (2 + 3 - 1)이다. from math import gcd def solution(w, h): total_square = w * h greatest_common_divisor = gcd(w, h) ..
[self-study/level 1] SQL | 이름이 없는 동물의 아이디 | IS NULL 문제 내 풀이 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME is NULL ORDER BY ANIMAL_ID ASC 👉🏻값이 없는 필드를 찾을 때는 is NULL을 사용한다.
[self-study/level 2] SQL | 입양 시각 구하기(1) | GROUP BY 문제 https://programmers.co.kr/learn/courses/30/lessons/59412 내 풀이 SELECT HOUR(DATETIME) AS 'HOUR', COUNT(DATETIME) AS 'COUNT' FROM ANIMAL_OUTS GROUP BY HOUR HAVING HOUR > 8 AND HOUR < 20 ORDER BY HOUR 👉🏻시간 데이터의 시각을 구하기 위해 HOUR 함수를 사용한다.
[self-study/level 2] SQL | 동명 동물 수 찾기 | GROUP BY 문제 내 풀이 SELECT NAME, COUNT(NAME) AS 'COUNT' FROM ANIMAL_INS GROUP BY NAME HAVING COUNT(NAME) > 1 ORDER BY NAME 👉🏻GROUP으로 묶은 후에 GROUP에 조건을 걸 때는 WHERE이 아니라 HAVING을 사용한다.

728x90