2024/04 67

나누어 떨어지는 숫자 배열

array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. def solution(arr, divisor): answer = [] for array in arr: if array % divisor==0: answer.append(array) answer.sort() if len(answer)==0: answer.append(-1) return answer ① answer = [] # 원하는 값이 배열에 추가되도록 빈 리스트를 생성 ② for array in arr: if array % divisor==0: answer.app..

2024-04-03

오늘 진행한 일 1. 이번주 TIL 다시 한번 보기 2. SQL 코드카타(56~60번) 기억할 내용 SQL INNER JOIN 을 여러번 할 경우 FROM appointment a INNER JOIN patient p ON a.pt_no = p.pt_no INNER JOIN doctor d ON a.mddr_id = d.dr_id 외래키 기준이 될 테이블을 제일 처음 적어주고 INNER JOIN 을 한 다음 연결해줄 테이블만 적어주면 된다 INNER JOIN = JOIN 같은 의미이므로 INNER 은 빼주어도 되지만 나중에 조금더 SQL이 익숙해졌을 때 제외하는거로 .. 테이블명에 별칭을 붙이는 작업도 AS 를 해주는 것이 보기 편하다 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 https:..

TIL 2024.04.03

자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 # SELECE절 서브쿼리

CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 2022년 10월 16일에 대여 중인 자동차인 경우 '대여중' 이라고 표시하고, 대여 중이지 않은 자동차인 경우 '대여 가능'을 표시하는 컬럼(컬럼명: AVAILABILITY)을 추가하여 자동차 ID와 AVAILABILITY 리스트를 출력하는 SQL문을 작성해주세요. 이때 반납 날짜가 2022년 10월 16일인 경우에도 '대여중'으로 표시해주시고 결과는 자동차 ID를 기준으로 내림차순 정렬해주세요. SELECT CAR_ID, IF(CAR_ID IN (SELECT CAR_ID FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY WHERE START_DATE = '2022-10-16'), '대여중', '대여 가능') A..

SQL 코드카타 2024.04.03

2024-04-02

오늘 진행한 일 1. SQL 코드카타 (51~55번) 2. 알고리즘 코드카타 복습 3. 알고리즘 코드카타 (23번) 기억할 내용 SQL 재구매가 일어난 상품과 회원 리스트 구하기 https://lyj-01.tistory.com/65 재구매가 일어난 상품과 회원 리스트 구하기 # GROUP BY https://school.programmers.co.kr/learn/courses/30/lessons/131536 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞 lyj-01.tistory.com 우선 재구매가 일어난 회원 리스트를 뽑았다.. SELECT * FROM online_sale user_id 15번 같은 사람을 ..

TIL 2024.04.02

조건에 맞는 사용자 정보 조회하기 # CONCAT(),SUBSTR()

https://school.programmers.co.kr/learn/courses/30/lessons/164670#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr USED_GOODS_BOARD와 USED_GOODS_USER 테이블에서 중고 거래 게시물을 3건 이상 등록한 사용자의 사용자 ID, 닉네임, 전체주소, 전화번호를 조회하는 SQL문을 작성해주세요. 이때, 전체 주소는 시, 도로명 주소, 상세 주소가 함께 출력되도록 해주시고, 전화번호의 경우 xxx-xxxx-xxxx 같은 형태로 하이픈 문자열(-)을 삽입하여 출력해주세요. 결과는 회원 ID..

SQL 코드카타 2024.04.02

재구매가 일어난 상품과 회원 리스트 구하기 # GROUP BY

https://school.programmers.co.kr/learn/courses/30/lessons/131536 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ONLINE_SALE 테이블에서 동일한 회원이 동일한 상품을 재구매한 데이터를 구하여, 재구매한 회원 ID와 재구매한 상품 ID를 출력하는 SQL문을 작성해주세요. 결과는 회원 ID를 기준으로 오름차순 정렬해주시고 회원 ID가 같다면 상품 ID를 기준으로 내림차순 정렬해주세요. SELECT user_id, product_id FROM online_sale GROUP BY 1,2 HAVING CO..

SQL 코드카타 2024.04.02

콜라츠 추측 # while 반복문

1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될 때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 예를 들어, 주어진 수가 6이라면 6 → 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야 하는지 반환하는 함수, solution을 완성해 주세요. 단, 주어진 수가 1인 경우에는 0을, 작업을 500번 반복할 때까지 1이 되지 않는다면 –1을 반환해 주세요. def solution(n..

2024-04-01

오늘 진행한 일 1. SQL 코드카타 (46~50번) 2. 알고리즘 코드카타 복습 풀이 기억할 내용 SQL https://lyj-01.tistory.com/62 즐겨찾기가 가장 많은 식당 정보 출력하기 # 다중컬럼 IN REST_INFO 테이블에서 음식종류별로 즐겨찾기수가 가장 많은 식당의 음식 종류, ID, 식당 이름, 즐겨찾기수를 조회하는 SQL문을 작성해주세요. 이때 결과는 음식 종류를 기준으로 내림차순 정렬해주 lyj-01.tistory.com select food_type, rest_id,rest_name, max(favorites) from rest_info group by food_type 이렇게 쿼리를 작성했더니 rest_id 와 rest_name 에는 GROUP BY 조건이 없어 첫번째 ..

TIL 2024.04.01

즐겨찾기가 가장 많은 식당 정보 출력하기 # 다중컬럼 IN

https://school.programmers.co.kr/learn/courses/30/lessons/131123#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr REST_INFO 테이블에서 음식종류별로 즐겨찾기수가 가장 많은 식당의 음식 종류, ID, 식당 이름, 즐겨찾기수를 조회하는 SQL문을 작성해주세요. 이때 결과는 음식 종류를 기준으로 내림차순 정렬해주세요. select food_type, rest_id,rest_name, favorites from rest_info where (food_type,favorites) IN (select f..

SQL 코드카타 2024.04.01