분류 전체보기 799

[🥉3 / 백준 9063 / 파이썬] 대지

9063번: 대지 첫째 줄에는 점의 개수 N (1 ≤ N ≤ 100,000) 이 주어진다. 이어지는 N 줄에는 각 점의 좌표가 두 개의 정수로 한 줄에 하나씩 주어진다. 각각의 좌표는 -10,000 이상 10,000 이하의 정수이다. www.acmicpc.net 문제 임씨는 1950 년 한국전쟁으로 많은 손해를 본 사람들 중 하나다. 전쟁 통에 손해보지 않은 사람이 어디 있을까 만은 그는 6.25 가 일어나기 전만 해도 충청도 지방에 넓은 대지를 소유한 큰 부자였다. 전쟁이 나자 임씨는 땅문서와 값 나가는 것들만 챙겨서 일본으로 피난을 가지만 피난 중에 그만 땅문서를 잃어버리고 만다. 전쟁이 끝난 후에 임씨의 땅은 이미 다른 사람들의 논밭이 되어 있었고, 임씨는 땅을 되찾으려 했지만 문서가 없으니 생떼 ..

[Lv.1 / 프로그래머스 / SQL] 자동차 대여 기록에서 장기/단기 대여 구분하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) 2022년 9월에 대여한 자동차를 대여 기간에 따라 단기/장기 여부를 함께 조회해야 한다. START_DATE와 END_DATE 컬럼의 경우 포맷을 예시 출력과 동일하게 해야 함에 주의해야 한다. 여기서, 9월1일에 빌려서 9월1일에 반납한 것도 하루로 쳐야 하므로 DATEDIFF 함수의 결과값에 1을 더하여 계산해야 SELECT HISTORY_ID, CAR_ID, DATE_FORMAT(START_DATE, "%Y-%m-%d") AS START_DATE, DATE_FORMAT(END_DAT..

[🥈5 / 백준 25206 / 파이썬] 너의 평점은

25206번: 너의 평점은 인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치 www.acmicpc.net 문제 인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치훈이의 전공평점을 계산해주는 프로그램을 작성해보자. 전공평점은 전공과목별 (학점 × 과목평점)의 합을 학점의 총합으로 나눈 값이다. 인하대학교 컴퓨터공학과의 등급에 따른 과목평점은 다음 표와 같다. A+ 4.5 A0 4.0 B+ 3.5 B0 3.0 C+ 2.5 C0 2.0 D+ 1.5..

[Lv.3 / 프로그래머스 / SQL] 오랜 기간 보호한 동물 (2)

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) 입양을 간 동물 중, 가장 오랜 기간 보호되었던 동물 두 마리를 조회해야 한다. Inner Join을 통해 두 테이블 모두에 존재하는 동물 데이터를 가져온 뒤, 보호소에 들어온 시점과 입양을 간 시점의 차이를 구해 그 차가 큰 순으로 내림차순 정리하면 된다. SELECT INS.ANIMAL_ID, INS.NAME FROM ANIMAL_INS AS INS INNER JOIN ANIMAL_OUTS AS OUTS ON INS.ANIMAL_ID = OUTS.ANIMAL_ID ORDER BY OUT..

[Lv.1 / 프로그래머스 / SQL] 12세 이하인 여자 환자 목록 출력하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) 12세 이하인 여자 환자 목록을 출력하되, 전화번호가 NULL인 경우 NONE으로 출력해야 한다. IFNULL을 사용하여 NULL값에 대한 처리를 할 수 있다. SELECT PT_NAME, PT_NO, GEND_CD, AGE, IFNULL(TLNO,"NONE") AS TLNO FROM PATIENT WHERE AGE

[Lv.2 / 프로그래머스 / SQL] 조건에 부합하는 중고거래 상태 조회하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) 2022년 10월 5일에 등록된 데이터를 상태에 따라 알맞게 변환한 형태로 조회해야 한다. IF문을 사용할 수도 있지만, 가독성을 위해 CASE문을 사용했다. SELECT BOARD_ID, WRITER_ID, TITLE, PRICE, CASE STATUS WHEN "DONE" THEN "거래완료" WHEN "SALE" THEN "판매중" ELSE "예약중" END AS STATUS FROM USED_GOODS_BOARD WHERE CREATED_DATE = '2022-10-05' ORDER..

[Lv.1 / 프로그래머스 / SQL] 조건에 맞는 회원수 구하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) 2021년에 가입한 나이가 20살 이상, 29세 이하인 회원의 수를 조회해야 한다. SELECT COUNT(USER_ID) AS USERS FROM USER_INFO WHERE YEAR(JOINED) = 2021 AND AGE >= 20 AND AGE < 30

[Lv.2 / 프로그래머스 / SQL] 3월에 태어난 여성 회원 목록 출력하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) 전화번호가 NULL이 아니면서 3월에 태어난 여성 회원의 데이터를 조회해야 한다. 단, DATE_OF_BIRTH의 포맷을 예시 출력과 일치하게끔 해야 한다. SELECT MEMBER_ID, MEMBER_NAME, GENDER, DATE_FORMAT(DATE_OF_BIRTH, "%Y-%m-%d") AS DATE_OF_BIRTH FROM MEMBER_PROFILE WHERE MONTH(DATE_OF_BIRTH) = 3 AND TLNO IS NOT NULL AND GENDER = "W" ORDE..

[Lv.1 / 프로그래머스 / SQL] 조건에 맞는 도서 리스트 출력하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) PUBLISHED_DATE의 연도가 2021이면서 CATEGORY가 '인문'인 데이터를 조회해야 한다. PUBLISHED_DATE의 출력 형식을 맞추기 위해 DATE_FORMAT을 사용해야 한다. SELECT BOOK_ID, DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d') AS PUBLISHED_DATE FROM BOOK WHERE YEAR(PUBLISHED_DATE) = 2021 AND CATEGORY = '인문' ORDER BY PUBLISHED_DATE

[Lv.1 / 프로그래머스 / SQL] 조건에 부합하는 중고거래 댓글 조회하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (MySQL) Lv.1 로 표기되어 있지만 사실 Lv.2나 Lv.3 언저리쯤이라고 생각된다. 난이도 책정이 잘못된 게 아닌가 싶다. 두 테이블을 조인하여 알맞은 컬럼을 SELECT해야 한다. 이 때, 댓글의 CREATED_DATE가 2022년10월인 것을 조회해야 하며, 데이터 형식도 yyyy-mm-dd 꼴이어야 한다. 두 테이블에서 이름이 겹치는 것들이 있는데, 혼동하여 SELECT하지 않도록 주의해야 한다. 맞게 작성한 것 같은데 혹여나 틀린다면, REPLY에서 가져와야 할 것은 BOARD에서 가져오..

반응형