Computer Science/Algorithm(41)
-
[프로그래머스/Python] 모의고사
수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를 작성해주세요...
2022.02.03 -
[프로그래머스/Python] 최대 공약수와 최소 공배수
두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다. 유클리드 호제법 사용 예제 def gcd(n,m): while n%m!=0: n,m=m,n%m return m def solution(n, m): answer = [] gcd_n=gcd(n,m) answer.append(gcd_n) lcd=(n*m)//gcd_n answer.append(lcd) return answer 파이썬 math 라이브러리 사용 예제 import math def solutio..
2022.02.02 -
[프로그래머스 - MYSQL] 헤비 유저가 소유한 장소
이 서비스에서는 공간을 둘 이상 등록한 사람을 "헤비 유저"라고 부릅니다. 헤비 유저가 등록한 공간의 정보를 아이디 순으로 조회하는 SQL문을 작성해주세요. SELECT * FROM PLACES WHERE HOST_ID IN( SELECT HOST_ID FROM PLACES GROUP BY HOST_ID HAVING COUNT(HOST_ID)>1 )
2022.01.31 -
[프로그래머스 - MYSQL] 우유와 요거트가 담긴 장바구니
데이터 분석 팀에서는 우유(Milk)와 요거트(Yogurt)를 동시에 구입한 장바구니가 있는지 알아보려 합니다. 우유와 요거트를 동시에 구입한 장바구니의 아이디를 조회하는 SQL 문을 작성해주세요. 이때 결과는 장바구니의 아이디 순으로 나와야 합니다. SELECT MILK.CART_ID FROM ( SELECT CP.CART_ID FROM CART_PRODUCTS AS CP WHERE CP.NAME='Milk' ) AS MILK JOIN ( SELECT CP.CART_ID FROM CART_PRODUCTS AS CP WHERE CP.NAME='Yogurt' ) AS YOGURT ON MILK.CART_ID =YOGURT.CART_ID 1. 우유가 담긴 테이블과 요거트가 담긴 테이블을 가져온 후 둘의 교집..
2022.01.31 -
[프로그래머스 - MYSQL] DATETIME에서 DATE로 형 변환
ANIMAL_INS 테이블에 등록된 모든 레코드에 대해, 각 동물의 아이디와 이름, 들어온 날짜1를 조회하는 SQL문을 작성해주세요. 이때 결과는 아이디 순으로 조회해야 합니다. SELECT INS.ANIMAL_ID, INS.NAME, DATE_FORMAT(INS.DATETIME, '%Y-%m-%d') as '날짜' FROM ANIMAL_INS AS INS ORDER BY INS.ANIMAL_ID 들어온 날짜를 년-월-일 로만 조회하는 것이 포인트! (%Y를 대문자로 쓰는 것에 유의하자)
2022.01.31 -
[프로그래머스 - MYSQL] 오랜 기간 보호한 동물(2)
입양을 간 동물 중, 보호 기간이 가장 길었던 동물 두 마리의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 기간이 긴 순으로 조회해야 합니다. SELECT INS.ANIMAL_ID, INS.NAME FROM ANIMAL_INS AS INS JOIN ANIMAL_OUTS AS OUTS ON INS.ANIMAL_ID = OUTS.ANIMAL_ID ORDER BY (OUTS.DATETIME-INS.DATETIME) DESC LIMIT 2 보호기간이 가장 긴 동물을 조회 - 보호기간이 길다 = INS.DATETIME 과 OUTS.DATETIME을 비교해야함 - 두 테이블을 JOIN 하여 ORDER BY로 정렬
2022.01.31