2024/06 19

자료구조 종류2 (트리, 힙)

알고리즘 기초 2목차1. 연결리스트(이전 글)2.스택(이전 글)3.큐(이전 글)4.해시테이블(이전 글)5. 트리6. 힙5-1. 트리 선형 구조: 자료를 구성하고 있는 데이터들이 순차적으로 나열시킨 형태의 자료구조. 큐(Queue), 스택(Stack)비선형 구조: 데이터가 계층적 혹은 망으로 구성됨. 트리(Tree) 선형구조와 비선형구조의 차이점은 형태뿐만 아니라 용도에서도 차이점이 있음. 선형구조는 자료를 저장하고 꺼내는 것에 초점이 맞춰져 있고, 비선형구조는 표현에 초점이 맞춰짐. Node: 트리에서 데이터를 저장하는 기본 요소 (A, B, C, D, ... , J)Root Node: 트리 맨 위에 있는 노드 (A)Level: 최상위 노드를 Level 0으로 하였을 때, 하위 Branch로 연결된 노드..

알고리즘 2024.06.13

자료구조 종류1 (연결리스트, 스택, 큐, 해시테이블)

알고리즘 기초 1목차1. 연결리스트2.스택3.큐4.해시테이블5.힙(다음 글) 1. 연결리스트(LINKED-LIST): 노드(값과 노드로 이루어진 데이터)와 노드를 연결해서 저장하는 방식. 주소를 통해 다음 값의 주소를 가리킴.어레이: 파이썬의 리스트. 접근 쉬움, 삽입 어려움. (파이썬의 리스트)연결리스트: 직접 구현. 접근 어려움, 삽입 쉬움.연결리스트 구현#노드class ListNode: def __init__(self, val=0, next=None): #값 self.val = val #주소 self.next = next#연결리스트class LinkedList: #head는 제일 처음 넣은 노드를 가리킴 def __init__(sel..

알고리즘 2024.06.12

O(n)에서 O(n^2)인 약수의 개수 구하기 예

기사단원의 무기(파이썬) 숫자나라 기사단의 각 기사에게는 1번부터 number까지 번호가 지정되어 있습니다. 기사들은 무기점에서 무기를 구매하려고 합니다.각 기사는 자신의 기사 번호의 약수 개수에 해당하는 공격력을 가진 무기를 구매하려 합니다. 단, 이웃나라와의 협약에 의해 공격력의 제한수치를 정하고, 제한수치보다 큰 공격력을 가진 무기를 구매해야 하는 기사는 협약기관에서 정한 공격력을 가지는 무기를 구매해야 합니다.예를 들어, 15번으로 지정된 기사단원은 15의 약수가 1, 3, 5, 15로 4개 이므로, 공격력이 4인 무기를 구매합니다. 만약, 이웃나라와의 협약으로 정해진 공격력의 제한수치가 3이고 제한수치를 초과한 기사가 사용할 무기의 공격력이 2라면, 15번으로 지정된 기사단원은 무기점에서 공격력..

알고리즘 2024.06.12

AI 웹 개발 공부 9일 차 (사전 캠프)

[SQL 과제] Lv2. 날짜별 획득포인트 조회하기  데이터 설명user_point 테이블은 스파르타코딩클럽 가입 유저들의 포인트에 대한 정보를 기록한 테이블입니다.point_user_id: user_point 행을 구별하기 위한 key(varchar255)created_at: 아이디 생성 날짜(timestamp)updated_at: 정보 업데이트 날짜(timestamp)user_id: 익명화된 유저들의 아이디(varchar255)point: 보유하고 있는 포인트(int)문제: 다음과 같은 결과테이블을 만들어봅시다.created_at: 익명화된 유저들의 아이디(varchar255)total_point: 유저가 획득한 총 포인트(int), 반올림 필수SELECT DATE(created_at) AS ..

SQL 2024.06.11

AI 웹 개발 공부 8일 차 (사전 캠프)

[SQL 과제] Lv1. 데이터 속 김서방 찾기  데이터 설명user 테이블은 스파르타 코딩클럽에 가입한 유저들의 정보를 날짜별로 기록한 테이블입니다.user_id: 익명화된 유저들의 아이디(varchar255)created_at: 아이디 생성 날짜(timestamp)updated_at: 정보 업데이트 날짜(timestamp)name: 익명화된 유저들의 이름(varchar255)email: 이메일(varchar255) 문제: 이름은 name_cnt인 결과테이블을 만들어봅시다.name_cnt: “김”씨 성을 가지고 있는 교육생의 수select count(distinct(user_id)) as name_cntfrom userswhere name like '김%'혹은SELECT count(distinct(us..

SQL 2024.06.10

AI 웹 개발 공부 7일 차 (사전 캠프)

DATETIME  참고: https://zephyrus1111.tistory.com/440 파이썬(python) 날짜 다루기 (feat. datetime)파이썬(Python)에서는 datetime 모듈을 이용하여 특정 날짜의 연도, 월, 일을 계산한다거나 또는 날짜를 특정 형태로 문자열 변환하는 것이 가능하다. 이번 포스팅에서는 파이썬(Python) 내장 모듈인 dazephyrus1111.tistory.com 예시) 2016년 a월 b일의 요일을 출력하기import datetimedef solution(a, b): return datetime.date(2016,a,b).strftime('%a').upper()print(solution(5,20))  SQL 연습문제 5팀 프로젝트 테이블(team_pr..

SQL 2024.06.07

AI 웹 개발 공부 6일 차 (사전 캠프)

SQL 연습문제 2 상품 테이블(products) idproduct_namepricecategory1맥북 프로1200컴퓨터2다이슨 청소기300생활가전3갤럭시탭600컴퓨터4드롱기 커피머신200주방가전 products 테이블에서 제품 이름(product_name)과 가격(price)만을 선택하는 쿼리를 작성해주세요.products 테이블에서 제품 이름에 '프로'가 포함된 모든 제품을 선택하는 쿼리를 작성해주세요.products 테이블에서 제품 이름이 '갤'로 시작하는 모든 제품을 선택하는 쿼리를 작성해주세요.products 테이블에서 모든 제품을 구매하기 위해 필요한 돈을 계산하는 쿼리를 작성해주세요.1.select product_name, pricefrom products  2.select *from pr..

SQL 2024.06.05

AI 웹 개발 공부 5일 차 (사전 캠프)

SQL 연습문제 1 아래와 같은 sparta_employees(직원) 테이블이 있습니다.idnamepositionsalaryhire_date1르탄이개발자300002022-05-012배캠이PM400002021-09-253구구이파트장350002023-06-014이션이팀장500002021-07-09 sparta_employees 테이블에서 모든 직원의 이름(name)과 직급(position)을 선택하는 쿼리를 작성해주세요.sparta_employees 테이블에서 중복 없이 모든 직급(position)을 선택하는 쿼리를 작성해주세요.sparta_employees 테이블에서 연봉(salary)이 40000과 60000 사이인 직원들을 선택하는 쿼리를 작성해주세요.sparta_employees 테이블에서 입사일(h..

SQL 2024.06.04

AI 웹 개발 공부 4일 차 (사전 캠프)

SQL을 이용한 간단한 예제 문제: 상품 준비시간이 20~30분 사이인, 한국음식점의 식당명과 고객번호 조회하기 조건:조회해야 할 컬럼 특정하기‘사이’ 조건 : BETWEEN특정 조건 지정 : =복수의 조건 지정 : ANDselect restaurant_name, customer_id from food_orders fo where food_preparation_time BETWEEN 20 and 30AND cuisine_type ="Korean" ----------------------------------------------------------나만의 필수암기노트 1. 파이썬에서 리스트를 따로 저장하고 싶을때 list형변환 함수를 꼭 써야함def solution(food): answer = ''..

SQL 2024.06.03