알고리즘 56

[프로그래머스] 어린 동물 찾기 (MySQL)

목차 개요 코딩테스트 연습 - 어린 동물 찾기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 WHERE 조건문에 어떻게 부정 조건을 쓰는지 알아야 한다. 코드 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION != 'AGED' ORDER BY ANIMAL_ID ;

[프로그래머스] 아픈 동물 찾기 (MySQL)

목차 개요 코딩테스트 연습 - 아픈 동물 찾기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 조건절 사용하라는 문제.. 코드 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION = 'Sick' ORDER BY ANIMAL_ID ;

[프로그래머스] 역순 정렬하기 (MySQL)

목차 개요 코딩테스트 연습 - 역순 정렬하기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 ORDER BY만 쓸 줄 알면 끝. 코드 SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC ;

[백준] 5597번: 과제 안 내신 분..? (파이썬/Python)

목차 개요 5597번: 과제 안 내신 분..? (acmicpc.net) 5597번: 과제 안 내신 분..? X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다. 교수님이 내준 특별과제를 28명이 제출했는데, www.acmicpc.net 풀이 1차원 배열에서 문제의 조건을 만족하는 두 값을 찾는 문제. append를 쓰던 remove를 쓰던 방법은 다양하다. 나처럼 무식하게 for문을 돌아도 된다. 나는 list를 가지고 하는 연산이 대체로 느리다고 알고 있어서 그냥 순회를 하는 방향을 택했다. 코드 import sys input = sys.stdin.readline lst = [0 for _ in range(3..

[프로그래머스] 오프라인/온라인 판매 데이터 통합하기 (MySQL)

목차 개요 코딩테스트 연습 - 오프라인/온라인 판매 데이터 통합하기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제가 길다. 확인해보니까 레벨 4짜리 문제! 풀이 두 테이블이 있는데 이 두 테이블로부터 전부 정보를 뽑아와야 한다. 대충 생각해봤을 때는 결국 어떻게든 두 테이블을 행을 늘리는 방식으로 합치는 것. JOIN을 하면 열이 늘어나는데, 다른 방법이 필요한 것이다. 일단 각각 SELECT를 하면 되지 않을까 싶었다. 그런데 그렇게 생각하니 이전에 UNION ALL을 썼던 것이 문득 생각이..

[프로그래머스] 재구매가 일어난 상품과 회원 리스트 구하기 (MySQL)

목차 개요 코딩테스트 연습 - 재구매가 일어난 상품과 회원 리스트 구하기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 간만에 조금 어려운 문제가 나왔다. 한 테이블에서 중복이 일어나는 것들을 뽑으라는 것이다. 문제의 조건을 읽어보면 동일한 날짜, 회원 ID, 상품 ID 조합에 대해서는 하나의 데이터만 있다 한다. 그렇지만 날짜만 다르고 동일한 회원 ID, 상품 ID 조합은 존재한다. 요컨대 고객이 물건을 재구매했다는 것이고 이러한 고객, 상품 쌍을 조회하라는 것이 문제. 이를 위해서는 GRO..

[프로그래머스] 모든 레코드 조회하기 (MySQL)

목차 개요 코딩테스트 연습 - 모든 레코드 조회하기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 나는 단순히 프로그래머스 SQL 고득점 KIT에 있는 순서대로 문제를 풀고 있는 것인데 왜 난이도가 점점 하락하는 것 같지. 순서를 거꾸로 갔어야 했나;; *를 통해 모든 컬럼을 꺼낼 수 있다. 코드 SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID ; ORDER BY 없어도 잘만 정답 처리된다;

[프로그래머스] 인기있는 아이스크림 (MySQL)

목차 개요 코딩테스트 연습 - 인기있는 아이스크림 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 그냥 ORDER BY 쓸 줄 아냐 묻는 문제. 문제 순서가 왜 이러냐?! 코드 SELECT FLAVOR FROM FIRST_HALF ORDER BY TOTAL_ORDER DESC, SHIPMENT_ID ;

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

목차 개요 코딩테스트 연습 - 조건에 맞는 도서 리스트 출력하기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 테마를 밝게 하니까 쿼리문을 작성할 때 훨씬 더 보기 좋아서 다크 테마 갖다버렸다. 풀이 날짜를 어떻게 나타내는지가 관건인 문제. 코드 SELECT BOOK_ID, DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d') "PUBLISHED_DATE" FROM BOOK WHERE YEAR(PUBLISHED_DATE) = 2021 AND CATEGORY = '인문' ORDER ..

[프로그래머스] 과일로 만든 아이스크림 고르기 (MySQL)

목차 개요 풀이 기본키와 외래키에 대한 설명이 나온다. 그걸로 JOIN하라고 편하게 알려주니까 좋다. 여러 테이블을 하나의 테이블처럼 사용하는 조인 — 데이터를 요리조리 (tistory.com) 검색하면서 알게 되었는데 SQL99에서 JOIN 구문이 처음 등장한 모양이다. 그 이전까지는 그냥 FROM에서 두 테이블을 불러오고 WHERE에서 키에 해당하는 부분을 맞추는 방식으로 테이블을 합쳐 사용했다는 듯. JOIN 역시 기본적으로는 그런 식으로 작동을 하는 모양이다. 보면 두 테이블의 FLAVOR가 전부 찍히는 것을 확인할 수 있다. WHERE 문으로 해도 똑같이 작동한다. 문제를 풀고 나서 다른 풀이들을 보는데 이런 식으로 쓰는 사람들이 많아서 처음에 무엇인가 했는데, 나는 개인적으로 JOIN으로 명시..