반응형

분류 전체보기 127

프로그래머스 - 과일로 만든 아이스크림 고르기 (SQL)

💬 내가 작성한 SQL 코드 SELECT A.FLAVOR FROM FIRST_HALF AS A INNER JOIN ICECREAM_INFO AS B # LEFT JOIN ON A.FLAVOR = B.FLAVOR WHERE A.TOTAL_ORDER > 3000 AND B.INGREDIENT_TYPE = 'fruit_based' ORDER BY A.TOTAL_ORDER DESC; # 1. 아이스크림 맛 조회 # 2. 총 주문량이 3,000보다 높고 # 3. 아이스크림의 주 성분이 과일인 맛 # 4. 총주문량 큰 순서대로(=내림차순) 해당 문제는 어렵지 않은 문제였다. 주석으로 작성한 4가지 조건을 만족하는 코드를 작성하면 되는 문제였다. 문제를 해결하면서, 해당 문제는 INNER JOIN / LEFT JOI..

프로그래머스 - 흉부외과 또는 일반외과 의사 목록 출력하기 (SQL)

💬 내가 작성한 SQL 코드 SELECT DR_NAME, DR_ID, MCDP_CD, DATE_FORMAT(HIRE_YMD, '%Y-%m-%d') AS HIRE_YMD FROM DOCTOR WHERE MCDP_CD = 'CS' OR MCDP_CD = 'GS' ORDER BY HIRE_YMD DESC, DR_NAME ASC; # 1. 이름, 의사ID, 진료과, 고용일자를 조회 # 2. 진료과가 흉부외과(CS)이거나 일반외과(GS) # 3. 고용일자를 기준으로 내림차순 정렬, 고용일자가 같다면 이름을 기준으로 오름차순 정렬 이번 문제도 너무 쉬운 문제였다. OR을 사용해보기 위한 문제로 느껴졌다.

프로그래머스 - 3월에 태어난 여성 회원 목록 출력하기 (SQL)

💬 내가 작성한 SQL 코드 SELECT MEMBER_ID, MEMBER_NAME, GENDER, DATE_FORMAT(DATE_OF_BIRTH, '%Y-%m-%d') AS DATE_OF_BIRTH FROM MEMBER_PROFILE WHERE GENDER = 'W' AND SUBSTR(DATE_OF_BIRTH, 6, 2) = '03' AND TLNO is not null ORDER BY MEMBER_ID ASC; # 1. ID, 이름, 성별, 생년월일을 조회 # 2. 생일이 3월인 여성 회원 # 3. 전화번호가 NULL인 경우는 출력대상에서 제외 # 4. 회원ID를 기준으로 오름차순 정렬 이번 문제는 어렵지 않았고, 위에 주석으로 작성한 4가지 조건을 고려하여 코드를 작성하면 풀리는 문제였다. 주의해야..

프로그래머스 - 조건에 부합하는 중고거래 댓글 조회하기 (SQL)

💬 내가 작성한 SQL 코드 (실패 코드) = WHERE 문이 잘못됨 SELECT A.TITLE, A.BOARD_ID, B.REPLY_ID, B.WRITER_ID, B.CONTENTS, DATE_FORMAT(B.CREATED_DATE,'%Y-%m-%d') AS CREATED_DATE FROM USED_GOODS_BOARD AS A INNER JOIN USED_GOODS_REPLY AS B ON A.BOARD_ID = B.BOARD_ID WHERE DATE_FORMAT(B.CREATED_DATE,'%Y-%m') = '2022-10' ORDER BY B.CREATED_DATE ASC, A.TITLE ASC; # 댓글 작성일이 같다면 제목 기준으로 오름차순 # 게시글 제목, 게시글 ID, 댓글 ID, 댓글작성..

프로그래머스 - 평균 일일 대여 요금 구하기 (SQL)

💬 내가 작성한 SQL 코드 SELECT ROUND(AVG(DAILY_FEE)) AS AVERAGE_FEE FROM CAR_RENTAL_COMPANY_CAR WHERE CAR_TYPE = "SUV" 사실 너무 쉬워서 언급할 것은 없지만, 반올림하는 함수로 ROUND()가 있다. ROUND(숫자, 자리수)로 반올림을 수행한다. 평균값은 AVG()를 통해 구하면 된다. Python만 하다가 SQL하니까 직관적이고 재밌다 ...

프로그래머스 - 조건에 맞는 도서 리스트 출력하기 (SQL)

💬 내가 처음 작성한 SQL 코드(실패) → PUBLISHED_DATE가 잘못 출력됨 SELECT BOOK_ID, PUBLISHED_DATE FROM BOOK WHERE DATE_FORMAT(PUBLISHED_DATE,'%Y') = '2021' AND CATEGORY = '인문' ORDER BY PUBLISHED_DATE ASC; 💬 내가 작성한 SQL 코드(성공) SELECT BOOK_ID, DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d') FROM BOOK WHERE DATE_FORMAT(PUBLISHED_DATE,'%Y') = '2021' AND CATEGORY = '인문' ORDER BY PUBLISHED_DATE ASC; DATE_FORMAT 출력에 따라 결과물이 달라진다...

프로그래머스 - 이진 변환 반복하기 (파이썬)

💬 내가 작성한 python 코드 def solution(s): answer = [] cnt=0; zero_cnt = 0 while int(s,2) > 1: # 문자열은 int(문자열, n진수)로 변환하여 연산할 수 있다 cnt += 1 zero_cnt += s.count('0') # 누적된 zero 갯수 세기 위함 one_cnt = s.count('1') s.replace('0', '') binary_str = ""; # one_cnt를 2진법으로 바꿔서 s 업데이트 while one_cnt != 0: binary_str = str(one_cnt % 2) + binary_str one_cnt = one_cnt // 2 s = binary_str answer = [cnt, zero_cnt] return ..

프로그래머스 - 둘만의 암호 (파이썬)

💬 내가 작성한 python 코드 (잘못된 코드 = 78.9/100) → 테스트 케이스가 많이 맞지 않음 def solution(s, skip, index): answer = '' for i in s: # str에서 한글자씩 i가 됨 new_list = []; cnt = 0; alpha = 1 while len(new_list) < index: if ord('z') < ord(i)+alpha: # z 넘어가면 다시 a로 돌아오기 if chr(ord(i)-26+alpha) in skip: # skip 제외하기 cnt += 1 alpha += 1 else: new_list.append(chr(ord(i)-26+alpha)) alpha += 1 else: if chr(ord(i)+alpha) in skip: ..

프로그래머스 - 두 개 뽑아서 더하기 (파이썬)

💬 내가 작성한 python 코드 def solution(numbers): # 서로 다른 인덱스에 있는 두 수 뽑아서 배열 만들기 # 오름차순으로 정렬 answer = [] for i in range(len(numbers)-1): for j in range(i+1, len(numbers)): answer.append(numbers[i] + numbers[j]) answer = set(answer) # 중복이 없게 만들기 answer = sorted(answer) # set 정렬 return answer 💬 다른 사람이 작성한 코드 def solution(numbers): answer = [] for i in range(len(numbers)): for j in range(i+1, len(numbers))..

728x90
반응형