알고리즘

알고리즘

[SQL]프로그래머스 Lv.2 카테고리별 상품 개수 구하기

✅ 코드 SELECT SUBSTR(PRODUCT_CODE, 1, 2) AS CATEGORY , COUNT(DISTINCT PRODUCT_ID) FROM PRODUCT GROUP BY CATEGORY ORDER BY CATEGORY; 🔎 참고 컬럼의 별칭(ALIAS)은 WHERE문에서 사용이 불가능합니다. 하지만 WHERE문을 제외한 GROUP BY, HAVING, ORDER BY문에서는 사용이 가능합니다. 참고로 코드에서는 SUBSTR 함수를 사용했는데 LEFT함수를 사용한 풀이도 가능합니다.

알고리즘

[SQL]프로그래머스 Lv.2 중성화 여부 파악하기

✅ 코드1 SELECT ANIMAL_ID , NAME , IF(SEX_UPON_INTAKE LIKE '%Intact%', 'X', 'O') FROM ANIMAL_INS ORDER BY ANIMAL_ID; IF문을 사용한 풀이입니다. ✅ 코드2 SELECT ANIMAL_ID , NAME , CASE WHEN SEX_UPON_INTAKE LIKE '%Neutered%' OR SEX_UPON_INTAKE LIKE '%Spayed%' THEN 'O' ELSE 'X' END AS 중성화 FROM ANIMAL_INS; CASE문을 사용한 풀이입니다.

알고리즘

[SQL]프로그래머스 Lv.2 가격이 제일 비싼 식품의 정보 출력하기

✅ 코드1 SELECT * FROM FOOD_PRODUCT ORDER BY PRICE DESC LIMIT 1; 내림차순 정렬(DESC)과 LIMIT 키워드를 함께 사용하면 TOP1 항목을 가져올 수 있습니다. 실무에서 많이 사용하는 패턴입니다. ✅ 코드2 SELECT * FROM FOOD_PRODUCT AS FP WHERE PRICE = (SELECT MAX(F.PRICE) FROM FOOD_PRODUCT AS F) 서브쿼리를 이용한 풀이입니다.

알고리즘

[SQL]프로그래머스 Lv.2 DATETIME에서 DATE로 형변환

✅ 코드 SELECT ANIMAL_ID , NAME , DATE_FORMAT(DATETIME, '%Y-%m-%d') FROM ANIMAL_INS ORDER BY ANIMAL_ID; 🔎 참고 DATE_FORMAT 함수를 이용한 풀이입니다. MySQL datetime 포맷이라고 검색하면 설정 가능한 옵션 목록을 확인할 수 있습니다.

알고리즘

[SQL]프로그래머스 Lv.2 NULL 처리하기

✅ 코드 SELECT ANIMAL_TYPE , IFNULL(NAME, 'No name') , SEX_UPON_INTAKE FROM ANIMAL_INS ORDER BY ANIMAL_ID; IFNULL 함수를 이용한 풀이입니다. 🔎 참고 IFNULL(exp1, exp2) 첫 번째 인수 exp이 NULL이 아닌 경우 → exp1 리턴 첫 번째 인수 exp이 NULL인 경우 → exp2 리턴

알고리즘

[파이썬]프로그래머스 Lv.1 완주하지못한선수

✅ 코드 def solution(participant, completion): tmp = {} for player in participant: tmp[player] = tmp.get(player, 0) + 1 for fin_player in completion: tmp[fin_player] -= 1 if tmp[fin_player] == 0: del tmp[fin_player] return list(tmp.keys())[0] participant 리스트에는 동명이인이 존재하기 때문에 집합 자료형은 사용하지 않았습니다. 대신에 동명이인의 수를 카운팅 할 수 있는 딕셔너리 자료형을 사용했습니다. 그렇게 리스트의 정보를 딕셔너리로 변환한 결과 문제를 해결할 수 있었습니다. 그 과정에서 자바스크립트 객체의 초기..

알고리즘

[파이썬]프로그래머스 Lv.1 다트게임

2018 카카오 블라인드 채용 def solution(dartResult): scores = [] dartResult = dartResult.replace('10', 'k') for x in dartResult: if x.isdecimal(): scores.append(int(x)) elif x.isalpha(): if x == 'D': scores[-1] **= 2 elif x == 'T': scores[-1] **= 3 elif x == 'k': scores.append(10) else: if x == '*': scores[-2:] = [x*2 for x in scores[-2:]] elif x == '#': scores[-1] *= -1 return sum(scores) 주어진 조건을 잘 이해하면 ..

알고리즘

[파이썬]프로그래머스 Lv.1 소수만들기

✅ 코드 from itertools import combinations import math def is_prime(x): for i in range(2, int(math.sqrt(x)) + 1): if x % i == 0: return False return True def solution(nums): answer = 0 combis = list(combinations(nums, 3)) for combi in combis: if is_prime(sum(combi)): answer += 1 return answer 주어진 배열에서 3개의 수를 조합해 더하면 소수가 되는 케이스의 수를 구해야 합니다. 다행스럽게도(?) 파이썬의 itertools 모듈을 사용하면 수들의 조합을 구할 수 있습니다. 소수 여부를..

truezero
'알고리즘' 카테고리의 글 목록 (5 Page)