프로그래머스 50

짝수의 합 # range()

정수 n이 주어질 때, n이하의 짝수를 모두 더한 값을 return 하도록 solution 함수를 작성해주세요. def solution(n): result = 0 for i in range(n+1): if i % 2 == 0: result += i return result def solution(n): result = 0 for i in range(0,n+1,2): result += i return result # 변수이름 ' result ' 는 0 이다 for i in range(n+1) 0 부터 n 까지의 값을 함수이름 ' i ' 에 출력하는 것을 반복 if i % 2 ==0 result += i 함수이름 ' i ' 가 짝수일 때 변수이름 ' result ' 에 result 값 + i 값 입력 ret..

각도기 # if, elif

각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요. def solution(angle): if 0 < angle < 90: return 1 elif angle == 90: return 2 elif 90 < angle < 180: return 3 elif angle == 180: return 4 # 여러가지 조건에 만족하는 값을 구해야하기 때문에 if , elif 로 조건을 추가해준다. # 조건에 만족하지 않을 경우라는 값을 구하는 것이 아니라면 else 문은 생략해도 된다. # =..

두 수의 나눗셈 # int()

정수 num1과 num2가 매개변수로 주어질 때, num1을 num2로 나눈 값에 1,000을 곱한 후 정수 부분을 return 하도록 soltuion 함수를 완성해주세요. def solution(num1,num2): result=(num1/num2)*1000 return int(result) def solution(num1,num2): return int((num1/num2)*1000) # 두가지 방법 다 가능 다른사람이 짠 코드를 보지 않고 구글링 하며 출력해낸 영광의 문제 ㅠㅠ return 도 solution 처럼 함수이름인줄 알았는데 return 함수가 있었다.. 분명 공부했던 내용인데 왜 낯설었는지? ㅋㅋ * return 함수란 : 함수를 실행시켰을 때 생성된 출력 또는 결과 * int() : ..

이름에 el이 들어가는 동물 찾기

이름에 el이 들어가는 동물 찾기 동물 보호소에 들어온 동물 이름 중, 이름에 "EL"이 들어가는 개의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 이름 순으로 조회해주세요. 단, 이름의 대소문자는 구분하지 않습니다. # 내가 작성한 쿼리 SELECT animal_id, name FROM animal_ins WHERE animal_type = 'Dog' AND name IN('%EL%' , '%el%') ORDER BY name SELECT animal_id, name FROM animal_ins WHERE animal_type = 'Dog' AND name LIKE '%EL%' OR name LIKE '%el%' ORDER BY name # SELECT animal_id, name F..

SQL 코드카타 2024.03.24

흉부외과 또는 일반외과 의사 목록 출력하기

DOCTOR 테이블에서 진료과가 흉부외과(CS)이거나 일반외과(GS)인 의사의 이름, 의사ID, 진료과, 고용일자를 조회하는 SQL문을 작성해주세요. 이때 결과는 고용일자를 기준으로 내림차순 정렬하고, 고용일자가 같다면 이름을 기준으로 오름차순 정렬해주세요. -- SELECT dr_name , dr_id , mcdp_cd , DATE_FORMAT(hire_ymd, '%Y-%m-%d') hire_ymd FROM doctor WHERE mcdp_cd = 'CS' OR 'GS' ORDER BY hire_ymd DESC, dr_name # SELECT DR_NAME , DR_ID , MCDP_CD , DATE_FORMAT(hire_ymd, '%Y-%m-%d') HIRE_YMD FROM doctor WHERE m..

SQL 코드카타 2024.03.22

자동차 대여 기록에서 장기/단기 대여 구분하기

CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여 시작일이 2022년 9월에 속하는 대여 기록에 대해서 대여 기간이 30일 이상이면 '장기 대여' 그렇지 않으면 '단기 대여' 로 표시하는 컬럼(컬럼명: RENT_TYPE)을 추가하여 대여기록을 출력하는 SQL문을 작성해주세요. 결과는 대여 기록 ID를 기준으로 내림차순 정렬해주세요. SELECT history_id , car_id , SUBSTR(start_date, 1, 10) start_date , SUBSTR(end_date, 1, 10) end_date , CASE WHEN CAST((end_date) AS decimal) - CAST((start_date) AS decimal) >= 30 THEN '장기대여' ELSE ..

SQL 코드카타 2024.03.21

조건에 맞는 도서 리스트 출력하기

BOOK 테이블에서 2021년에 출판된 '인문' 카테고리에 속하는 도서 리스트를 찾아서 도서 ID(BOOK_ID), 출판일 (PUBLISHED_DATE)을 출력하는 SQL문을 작성해주세요. 결과는 출판일을 기준으로 오름차순 정렬해주세요. SELECT book_id , DATE_FORMAT(published_date, '%Y-%m-%d') PUBLISHED_DATE FROM book WHERE published_date BETWEEN '2021-01-01' AND '2021-12-31' AND category = '인문' ORDER BY published_date + 어제 코드카타 하면서 공부했던 DATE_FORMAT 함수를 사용해보았다 Q. DATE_FORMAT 의 사용법은 어떻게 될까? A. %Y 20..

SQL 코드카타 2024.03.20

특정 옵션이 포함된 자동차 리스트 구하기

CAR_RENTAL_COMPANY_CAR 테이블에서 '네비게이션' 옵션이 포함된 자동차 리스트를 출력하는 SQL문을 작성해주세요. 결과는 자동차 ID를 기준으로 내림차순 정렬해주세요. SELECT * FROM CAR_RENTAL_COMPANY_CAR WHERE options LIKE '%네비게이션%' -- = 과 LIKE 가 매번 헷갈림.. = 은 완전히 일치할때, LIKE 는 저런 단어가 있을때 출력? ORDER BY car_id DESC 단어를 찾을때 = 과 LIKE 구문이 매번 헷갈림 = : 완전히 일치하는 단어 LIKE : 부분적으로 일치하는 단어 다른 풀이 방식 WHERE INSTR(options, '네비게이션') > 0

SQL 코드카타 2024.03.19

조건에 부합하는 중고거래 댓글 조회하기

USED_GOODS_BOARD와 USED_GOODS_REPLY 테이블에서 2022년 10월에 작성된 게시글 제목, 게시글 ID, 댓글 ID, 댓글 작성자 ID, 댓글 내용, 댓글 작성일을 조회하는 SQL문을 작성해주세요. 결과는 댓글 작성일을 기준으로 오름차순 정렬해주시고, 댓글 작성일이 같다면 게시글 제목을 기준으로 오름차순 정렬해주세요. SELECT title , ub.board_id , ur.reply_id , ur.writer_id , ur.contents , ub.created_date FROM used_goods_board ub INNER JOIN used_goods_reply ur ON ub.writer_id = ur.writer_id WHERE ub.created_date BETWEEN '..

SQL 코드카타 2024.03.19