TIL 66

TIL (7/12) <zip(), enumerate()>

zip()zip() 함수는 여러 개의 순회 가능한 객체를 인자로 받고, 객체가 담고 있는 원소를 튜플의 형태로 엮어서 반환함. 예시) def remove_duplicates_and_count(s): count = {}    for i in list(input_string):        if i in count: count[i]+=1         else: count[i] = 1     result_with_frequency = list(zip(count.keys(), count.values())) return result_with_frequency딕셔너리를 zip을 이용하여 튜플을 값으로 가진 리스트로 변환 enumerate()순서가 있는 자료형을 입력으로 받았을 때, 인덱스와 값을 포함한 튜플 자료..

TIL/Python 2024.07.12

TIL (7/12) <group by, having, 서브쿼리를 사용하는 이유>

select food_type, rest_id, rest_name, max(favorites) as favoritesfrom rest_info group by food_type이렇게 하면 안되는 이유는 ?food_type으로 그룹화를 해주었으나 rest_id, rest_name은 개별 데이터이기 때문이다.max는 그룹에 대한 통계 데이터이기 때문에 사용가능. 튜터님이 오류 발생 예시로 학생정보 조회 테이블에서 성별로 그룹화했을 때, 컬럼에 이름을 추가하면 어떤 이름이 뜰 것 같냐고 물어보셨다. 오류를 이 예시로 이해하면 좋을 듯 하다. select food_type, rest_id, rest_name, favorites from rest_info where (food_type, favorites) in ..

TIL/SQL 2024.07.12

TIL (7/11) <class, 불리언 인덱싱, 데코레이션, upper(), lower()>

클래스 기본 구조여기서 __init__ 메서드는 클래스의 생성자로, 객체가 생성될 때 호출되며 초기화 작업을 수행클래스 내부의 메서드들은 클래스의 동작을 정의하는 함수임.메서드의 첫 번째 매개변수로 self를 반드시 사용해야 함. 이는 해당 메서드가 속한 객체를 가리킴. 클래스의 속성과 메소드클래스(Class)는 객체(Object)를 생성하기 위한 템플릿이며, 메서드(Method)와 속성(Attribute)을 가질 수 있음.메서드(Method)클래스 내부에 정의된 함수를 말함.메서드는 클래스에 속한 함수, 특정 작업을 수행하거나 클래스의 상태를 변경하는 역할메서드는 일반적으로 클래스의 인스턴스(instance)에서 호출되며, 해당 인스턴스의 상태에 따라 동작일반적으로 self 매개변수를 첫 번째 매개변수..

TIL/Python 2024.07.11

TIL (7/11) <Round(), div>

풀이select round(avg(daily_fee),0) as average_fee from car_rental_company_car where car_type = 'SUV' ROUND('수치값', '반올림 자릿수')  나의 풀이select case when price between 10000 and 19999 then 10000                    when price between 20000 and 29999 then 20000                    when price between 30000 and 39999 then 30000                   when price between 40000 and 49999 then 40000                  ..

TIL/SQL 2024.07.11

TIL #12 <파일 불러오기, 패키지, lambda, filter, map>

1.파일 불러오기 및 저장하기1). 파일 확장자 - CSV 파일 (.csv) 데이터를 쉼표(,)로 구분하여 저장하는 형식 - Excel 파일 (.xls, .xlsx) 마이크로소프트 엑셀의 형식 - JSON 파일 (.json) 자바스크립트노테이션, 데이터를 저장하는 간단한 형식 - 텍스트 파일 (.txt, .dat 등) 2). 판다스에서 제공하는 함수를 이용하여 불러올 수 있음. - csv 파일의 경우 read_csv() 함수 사용 import pandas as pd df = pd.read_csv(파일경로) - Excel  파일의 경우 read_excel() 함수 사용 위의 코드에서 pd.read_excel(파일경로) 만 바꿔주면 됨. 아래도 위와 동일 - json 파일의 경우 read_json - 텍스트..

TIL/Python 2024.07.10

TIL #11 <Date_format , join(python), abs(python, 연산자 우선순위)>

1. 조건에 맞는 도서와 저자 리스트 출력처음 풀이select a.book_id, b.author_name, a.published_datefrom book a join author b on a.author_id = b.author_id where a.category = "경제" order by published_date출력 값으로 00:00:00 시간까지 출력됨. Date_format(컬럼, '%Y-%m-%d)%y > 20%Y > 2020%M > 영어%m > 숫자 고친 답select a.book_id, b.author_name, date_format(a.published_date,'%Y-%m-%d') as published_date from book a join author b on a.author_id..

TIL/Python 2024.07.09

TIL #10 <집합과 리스트의 차이, Month, *args와 **kwargs >

1. 제일 작은 수 제거하기 (파이썬) 틀린 풀이def solution(arr):    if arr:         new = arr.sort()        new.pop(0)         set(arr)         set(new)         answer = list(arr & new)     return answer or [-1]>> .sort 메소드는 값을 return 하지 않는다. new 안에 넣으려고 한다면 차라리 sorted()를 써야했음.     ㄴ따라서 new 안에 데이터가 없기 때문에 pop을 쓸 수 없음.>> 집합은 순서가 없기 때문에 집합을 이용해서 풀었을 경우 arr 리스트 인덱스와 달라져 오류가 발생할 수 있음. (해결)def solution(arr):    if len(..

TIL/Python 2024.07.08

TIL #9 < 음양더하기, 번호 가리기, 없는 문자 빼기 >

문제설명어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요. (나의 풀이) 문제설명전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. (나의 풀이)인덱스 슬라이싱 [ 시작지점 : 끝지점 ]뒤에서부터 -1 시작 문제설명0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를..

TIL/Python 2024.07.06

TIL #8 <list 슬라이싱, 메소드, 반복문 >

1. 리스트 리스트 슬라이싱(start:end+1:step)마지막 요소부 --> -1 시작 리스트명.append(element) --> 리스트의 끝에 요소 추가리스트명.sort() --> 리스트 정렬리스트명.reverse() --> 리스트 요소 뒤집기 위의 두줄 사용하면 역순 정렬 가능## 리스트명.sort(reverse = True) 와 동일 sum(리스트명) --> 리스트의 모든 요소의 합len(리스트명) --> 리스트의 길이 리스트를 문자열 길이로 정렬하는 것 또한 가능리스트명.sort(key=len) 리스트 값 삭제1. 리스트명.remove(값)2. 리스트명.pop(인덱스) 리스트, 튜플, 딕셔너리 전부 인덱스에는 [] 사용딕셔너리에서 인덱스는 키 2. 조건문 조건문 한 식에 표현하기x = 10r..

TIL/Python 2024.07.06

TIL #7 <range, break, return , sort와 sorted>

1. 문제설명 (두 정수 사이의 합) 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건> a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. > a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. > a와 b의 대소관계는 정해져있지 않습니다. range(시작값, 끝값, 증가 값)끝값 포함x --> 끝값 + 1 2. 문제설명 (콜라츠 추측) > 입력된 수가 짝수라면 2로 나눕니다.  > 입력된 수가 홀수라면 3을 곱하고 1을 더합니다.> 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다.  제한 조건>..

TIL/Python 2024.07.04