목록전체 글 (116)
julia coding story
1. like '_' : 몇번째 N이 들어있는 것 '%': 뭐든지 안됨select empno, ename, sal, deptnofrom empwhere ename like '__N%'; --3번째 자리가 N인 ename 찾기2. null - null 이 하나라도 있으면 사칙연산에서는 null임 - null = null 은 있을 수 없음 - comm = null (comm중에 null존재)하면, 비교 불가함 - 오직 null은 IS NULL로만 찾을 수 있음 - 정렬(ASC)은 null은 last - distinct에 null도 포함됨 - gorup함수(sum, avg, ..) 는 null값들이 아닌 경우에만 연산에 참여시킴 3. escape '#' : #외 다른거 쓸수 있음. #다음꺼는 기호다 라는..
🧠 데이터 엔지니어 입장에서 GIL을 알아야 하는 이유“데이터 파이프라인이 느려진다면, 진짜 병목은 코드가 아니라 GIL일 수도 있다.” 1️⃣ GIL이 뭐길래?GIL(Global Interpreter Lock)은 파이썬이 한 번에 하나의 스레드만 실행하도록 제한하는 락(lock)이에요.멀티스레드를 써도 결국 한 시점에는 하나의 스레드만 파이썬 코드를 돌릴 수 있습니다. 왜 이런 제약이 생겼을까요?파이썬의 메모리 관리 방식이 참조 카운팅(reference counting) 기반이라, 여러 스레드가 동시에 메모리를 건드리면 꼬일 위험이 있기 때문이에요.그래서 CPython은 “안전하게 하나씩 처리하자”는 선택을 한 거죠.결국 GIL은 안정성의 대가로 병렬성(performance)을 포기한 구조입니다. 2..
https://www.acmicpc.net/problem/14889 힌트1. sys썼느냐?2. 중복되는게 없느냐?ex> 0번 선수가 A팀이든 B팀이든 상관없고 구하는건 차이니까 A: 0,1,2 / B: 3,4,5B: 0,1,2 / A: 3,4,5 일때 두번 대칭으로 중복인경우 해결? 조합으로 하면 저래됨그니까 그 동그란 탁자에 앉은 경우의 수 구하듯 구하는거임 1차 시도 (실패 - 메모리초과)from itertools import combinations, permutations# N은 짝수# N/2명으로 이루어진 스타트링팀 / 링크 팀으로 나눠야함N = int(input())ab = []for i in range(N): ab.append(list(map(int, input().split())))..
https://www.acmicpc.net/problem/2108 이거 굉장히 쉬워보이지만 시간초과때문에 골때림 힌트1. Counter 쓸생각하지마셈2. sys로 input받았는지 생각해보셈3. 수기로 다 할생각하셈 꼼수 안됨 킹받네4. -0.333이 0으로 되는지 확인해보셈 1차 시간 초과 (실패)from collections import CounterN = int(input())l = []tot = 0for i in range(N): t = int(input()) #tot += t l.append(t)if N == 1: print(l[0]) print(l[0]) print(l[0]) print(0)else: # 1. 산술평균 : N개의 수들의 합을 N으..
📊 SQL에서 사분위수 구하는 두 가지 방법1️⃣ 수치값의 사분위수 – PERCENTILE_DISCPERCENTILE_DISC는 특정 분위수(Percentile)의 실제 값을 반환하는 함수입니다.예를 들어 **중앙값(50% 분위수, median)**을 구하고 싶다면 다음처럼 씁니다. SELECT PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY 급여) AS 중앙값_급여 FROM 직원; 👉 해석:0.5 → 50% 위치의 값(= 중앙값)WITHIN GROUP (ORDER BY 급여) → 급여를 작은 값부터 정렬한 뒤, 그 위치에 해당하는 값을 반환📌 특징:실제 데이터 값 중 하나를 반환합니다.즉, 평균처럼 "계산된 값"이 아니라 정렬된 데이터에서 정확히 그 지점을 찾아서 반..
GROUP_CONCAT은 **MySQL, SQLite 등에서 제공하는 집계 함수(aggregate function)**로, GROUP BY와 함께 사용될 때 여러 행(row)의 문자열 값을 하나로 합쳐서 반환합니다.✅ 기본 개념일반적으로 SUM(), COUNT() 같은 집계 함수는 숫자를 다루지만GROUP_CONCAT()은 문자열을 다루고, 행 단위로 여러 값을 하나의 문자열로 연결해 줍니다.기본 구분자는 , (콤마)입니다.✅ 기본 사용 예시 SELECT department, GROUP_CONCAT(name) AS employees FROM employee GROUP BY department; 📌 결과 예시:departmentemployeesSalesAlice,Bob,CharlieITDavid,Eva✅..
https://school.programmers.co.kr/learn/courses/30/lessons/67257 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr eval함수 보통 쓰는데 난 안쓰고 풀어봄 문제가 많았음 걸린점1. copy.deepcopy를 하지 않아서 계속 맘대로 바뀜;2.''' ('*', '-', '+') [100, 60000, 500, 20] ['-', '-', '+'] [-59900, -60400, 20] ['+'] [-120300, 20] [] [22000, 60420, 18000, 20020, 60420, 120300] 지금 코드는 이렇게 -를 겹쳐야하는 경우에는 부합하지 못함..ㅠ..
1. 정의공매도는 주식을 실제로 보유하지 않은 상태에서 주식을 빌려와 먼저 매도한 뒤, 주가가 하락하면 더 낮은 가격에 다시 매수하여 되갚는 투자 기법입니다.즉, 주가 하락에 베팅하는 투자 방식입니다.2. 기본 구조 1. 주식 차입: 투자자는 증권사나 기관으로부터 주식을 빌림. 2. 시장 매도: 빌린 주식을 현재 시세로 판매. 3. 주가 변동: 주가가 하락하길 기다림. 4. 재매수(숏 커버링): 낮은 가격에 주식을 다시 매수해 빌린 곳에 반환. 5. 차익 실현: 매도 가격과 매수 가격의 차익이 수익.3. 특징 • 하락장에서 수익 가능: 일반 투자자는 주가 상승에서만 이익을 보지만, 공매도는 하락에서도 이익을 볼 수 있음. • 레버리지 효과: 담보(보증금)를 기반으로 거래하기 때문에 수익·손실 모두 확대...