import pandas as pd
def solution(nums):
answer = 0
nums = pd.Series(nums)
if nums.nunique() > (len(nums)/2):
answer = len(nums)/2
else:
answer = nums.nunique()
return answer
def solution(ls):
return min(len(ls)/2, len(set(ls)))
WITH cte AS (
SELECT
o.sales_id
FROM
Orders as o
JOIN Company as c
USING (com_id)
WHERE
c.name = "RED"
)
SELECT
name
FROM
SalesPerson AS s
LEFT JOIN cte AS c
USING (sales_id)
WHERE
c.sales_id IS NULL
;
# 1
select s.name
from SalesPerson s
where s.name not in
(select s.name
from SalesPerson s
left join Orders o on s.sales_id = o.sales_id
left join Company c on o.com_id = c.com_id
where c.name = 'Red')
# 2
select s.name
from SalesPerson s
where s.name not in
(select s.name
from SalesPerson s
left join Orders o on s.sales_id = o.sales_id
left join Company c on o.com_id = c.com_id
where c.name = 'Red')
# 3
SELECT name
FROM SalesPerson
WHERE sales_id NOT IN(
SELECT sales_id
FROM Orders
WHERE com_id IN (
SELECT com_id
FROM Company
WHERE name="RED"
)
);
Python == 인터프리터 언어
→ 소스코드를 한 줄 한 줄 읽어가며 명령을 바로 처리: 번역과 실행이 동시에 발생


[]: list
{key:value}/{key:[v1, v2, …]}: dictionary
# 라이브러리 불러오기
import pandas as pd
pd.Series([10, 20, 30, 40, 50])
pd.DataFrame([["A", "apple"]
, ["B", "banana"]
, ["C", "cantaloupe"]
, ["D", "date"]
, ["E", "elderberry"]]
, index = [1, 2, 3, 4, 5]
, columns = ["alphabet", "fruits"])
data = {"alphabet": ["A", "B", "C", "D", "E"]
, "fruits": ["apple", "banana", "cantaloupe", "date", "elderberry"]}
df = pd.DataFrame(data, index = [1,2,3,4,5])
# 인덱스 확인
df.index
# 컬럼명 확인
df.columns
# 데이터 확인
df.values
# 데이터 크기(모양, 형태) 확인: (행, 열)
df.shape
# 데이터의 전반적인 특징, 정보 확인
df.info() # info는 함수라서 () 필요
변수명[이름]변수명[시작:끝+1]변수명["시작인덱스명":"끝인덱스명"][])를 사용해 추출: DataFrame명[컬럼명]
| 구분 | 예시 | 설명 |
|---|---|---|
| 절대경로 | /home/jooinkim/projects/data.csv | 루트(/)부터 시작하는 전체 경로 |
| 상대경로 | ../images/logo.png | 현재 위치를 기준으로 상대적으로 지정한 경로 |
\)는 이스케이프 기호이기 때문에 단일 사용시 이스케이프 기호로 인지\\ 2번 작성 or /로 대체하여 사용 가능!: 일시 적용%: 영구 적용!pws: 현재 내 파일의 위치 확인(Print Work Directory)%cd: change directory!ls: 현재 같은 폴더에 있는 파일 목록 확인
import chardet
with open("./data/hr-info.csv", "rb") as f:
data = f.read() # 파일을 읽어서 변수 저장
chardet.detect(data) # 인코딩 분석
| 주차 | 내용 |
|---|---|
| 6월 1주차 | 과정 오리엔테이션 / Goal Tracker 안내 / HR 멘토 소개 및 멘토링 |
| 6월 2주차 | 목표 설정 / 직업의 이해 / 좋은 기업 선택 방법 / 포트폴리오 구성을 위한 경험의 기준 / HR 멘토링 |
| 6월 3주차 | 노션 사용 방법 / 직무탐색 / 이력서 작성 방법 / HR 멘토링 |
| 6월 4주차 | 직무 탐색 / NCS 활용, 직무분석 / HR 멘토링 |
6월 공통과정 → 7월 자소서 → 8월 포트폴리오 → 9월 모의면접
7월 진행

동기부여
방향성
회고 기준
더 좋은 성과

내재적 동기를 위한 내재적 목표