본문 바로가기

코딩일기

(127)
SQL 코드카타 105 - Customers Who Bought All Products https://leetcode.com/problems/find-followers-count/description/ Column NameTypecustomer_idintproduct_keyintFollowers 테이블:customer_id (int): 고객 IDproduct_key (int): 제품 키 (고객이 구매한 제품)Column NameTypeproduct_keyintProduct테이블:product_key (int): 제품 키 (고유키)모든 제품을 구매한 고객의 ID를 출력하세요. 원래는 서브쿼리를 만들어서 풀려고 했지만 오늘은 HAVING절을 연습해보기로 했다. 그동안 sql문제를 풀면서 HAVING을 제대로 사용해본 적이 별로 없었기 때문이다. SELECT COUNT(*)FROM Product..
알고리즘 코드카타 105 - 쿼드압축 후 개수 세기 https://school.programmers.co.kr/learn/courses/30/lessons/68936?language=python3 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 설명 0과 1로 이루어진 2n x 2n 크기의 2차원 정수 배열 arr이 있습니다. 당신은 이 arr을 쿼드 트리와 같은 방식으로 압축하고자 합니다. 구체적인 방식은 다음과 같습니다. 당신이 압축하고자 하는 특정 영역을 S라고 정의합니다. 만약 S 내부에 있는 모든 수가 같은 값이라면, S를 해당 수 하나로 압축시킵니다. 그렇지 않다면, S를 정확히 4개의 균일한 정..
알고리즘 코트카타 - 1 ~ 5 (자바스크립트) 1. 문제 설명 정수 num1과 num2가 주어질 때, num1에서 num2를 뺀 값을 return하도록 soltuion 함수를 완성해주세요.function solution(num1, num2) { let answer = 0; answer = num1 - num2 return answer;} 2. 문제 설명 정수 num1, num2가 매개변수 주어집니다. num1과 num2를 곱한 값을 return 하도록 solution 함수를 완성해주세요.function solution(num1, num2) { let answer = 0; answer = num1 * num2 return answer;} 3. 문제 설명 정수 num1, num2가 매개변수로 주어질 때, num1을..
SQL 코드카타 104 - Biggest Single Number https://leetcode.com/problems/biggest-single-number/description/ Column NameTypenumint MyNumbers 테이블:num (int): 임의의 정수해당 테이블에서 가장 큰 단일숫자(한번만 나타나는 숫자)를 출력하세요. select num, count(num)from MyNumbersgroup by num 먼저 각 숫자들을 그룹화한 후, 몇번이나 나타나는지 갯수를 센다. select M.numfrom MyNumbers M join(select num, count(num) count_numfrom MyNumbersgroup by num) C on M.num = C.numwhere count_num = 1 위의 쿼리를 ..
알고리즘 코드카타 104 - 소수 찾기 https://school.programmers.co.kr/learn/courses/30/lessons/42839 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 설명 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers는 길이 1 이상 7 이하인 문자열입니다. numbers는 0~9까지 숫자만..
SQL 코드카타 103 - Find Followers Count https://leetcode.com/problems/find-followers-count/description/ Column NameTypeuser_idintfollower_idint Followers 테이블:user_id (int): 각 사용자의 IDfollower_id (int) : 팔로워의 ID각 사용자의 팔로워 수를 가져오는 SQL 쿼리를 작성하세요.select user_id, count(user_id) followers_countfrom Followersgroup by user_idorder by user_id문제를 푸는 시간보다 블로그에 옮겨 적는 것이 더 오래걸린 문제였다.
알고리즘 코드카타 103 - 가장 큰 수 https://school.programmers.co.kr/learn/courses/30/lessons/42746?language=python3 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 ..
SQL 코드카타 102 - Classes More Than 5 Students https://leetcode.com/problems/classes-more-than-5-students/description/ Column NameTypestudentvarcharclassvarcharCourses 테이블:student (varchar): 학생class (varchar): 수업모든 학생 수가 최소 다섯 명인 수업을 찾는 솔루션을 작성하세요.결과 테이블의 순서는 상관없습니다. 먼저 클래스별 학생의 숫자를 센다.select class, count(class) count_classfrom Coursesgroup by classclasscount_classMath6English1Biology1Computer1 해당 쿼리를 메인테이블과 class를 기준으로 join하고 count_cl..