Algorithm (Python) 10

[SQL 문법 - 주문량이 많은 아이스크림들 조회하기]

[문제 URL]https://school.programmers.co.kr/learn/courses/30/lessons/133027 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 사용 문법 1) 맛을 기준으로 outer join을 해야 하기에 (SHIPMENT-ID 기준으로 두 테이블 간에 중복 없는 게 있어서) union all 결합을 해줌. 2) 랭킹을 위한 sum(토탈 오더)을 order by 에서 처리해준다.2. 알게 된 것- mysql은 pull outer join을 지원하지 않는다. 따라서 union과 union all을 사용하는데, all은 중복제거가 안된다. 따라서 조금 더 빠르다. ..

[SQL 문법] 있었는데요 없었습니다.

[문제 URL]https://school.programmers.co.kr/learn/courses/30/lessons/59043 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 사용 문법1) 두 테이블의 공통된 ANIMAL_ID를 기준으로 JOIN 후, 2) OUTS 테이블보다 INS의 DATETIME이 큰 걸 WHERE 절을 써서 찾아 낸다. 2) DATETIME 의 오름차순으로 정렬. 2. 알게 된 것처음에 잘 풀이하고 있었는데 약간 실수했는지 안되길래 오만가지 방법으로 돌아서 갈 뻔 했다 ㅎ..ㅎ(두 테이블의 DATETIME으로 명시된 이름이 같으니..

[SQL 문법] 조건에 맞는 도서와 저자 리스트 출력하기

[문제 URL]https://school.programmers.co.kr/learn/courses/30/lessons/144854 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 사용 문법1) 작가 아이디에 맞춰서 LEFT JOIN (일반 JOIN해도 됨.) 후 필요한 것들 SELECT2) 년/월/일 날짜는 DATE_FORMAT으로 맞춰줌.3) 경제 카테고리만 골라서 (WHERE)4) 출판날짜에 맞춰 ORDER BY.  2. 알게 된 것 1) LEFT JOIN이란? ->  OUTER JOIN(합집합) 종류의 하나로 두 테이블간의 공통점(ON)을 기준으로 ..

[Softeer Algorithm] Lv.2 회의실 예약

[문제 URL ]https://softeer.ai/practice/6266 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 1. 문제 접근 방법접근은 간단하다. (그러나, 고민하고 시행착오 겪고 드디어 풀어서 너무 뿌듯하다!!)자동차 별로 시간대를 list로 넣을 수 있는 딕셔너리를 사용하는 것. 입력만 잘해주면 50%는 성공한 셈!1. 딕셔너리에 자동차 이름별로 시간대 list 할당. 2. 자동차 이름 순으로 정렬 먼저 해준다. ( Print할 때, 이름 순으로 함)3. 자동차 순서대로 시간대 확인하는 함수에 갔다 나온다. (함수는 시간 양식을 9가 아닌 09로 해주는 format_time과 시간대 list를 넣으면 빈 시간대를 확인해주는 find함수 두 가지를 사용했다.) - f..

[Softeer Algorithm] Lv.2 비밀 메뉴

[문제 URL ]https://softeer.ai/practice/6269 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 1. 문제 접근 방법슬라이딩 윈도우 방식! 앞의 숫자 제거, 뒤에 숫자 추가 후 반복적인 비교.  임시배열이 비밀메뉴와 일치 하지 않을 때, 맨 앞에 index 값 제거 후 뒤에 basic[index 값 +1 ] 해서 추가 후 다시 비교.   1.1 알게 된 점간단하지만 몇 번 시행착오를 겪었다.나는 쌩구현을 좋아하는 편이라..(SWEA로 알고리즘 배움..ㅎㅎ)슬라이딩 윈도우 방식을 생각 못하다가 재귀함수만 자꾸 떠올라서 애먹었다. (아마 +1 때문인 듯.) 그래서 for 문으로 +1 을 해준 후, 예외처리를 또 안해서 애먹었다. 먼저, 기본 배열 잡은 후 맞는..