전체 글

안녕하세요, 데이터 분석가를 꿈꾸는 개인기록 블로그입니다:)
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/120878 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 from fractions import Fraction import math def solution(a, b): # 기약분수 만들기 f = Fraction(a, b) # 기약분수의 분모 값을 check_num에 담음 check_num = f.denominator # 소인수분해 # 나누는 수 d d = 2 # 소인수를 담을 리스트 f_list f_list = [] while d
· 기타
아나콘다 확장 프로그램인 "NBextensions"를 설치해보다가 여러가지 설치를 진행해봤는데 나중에는 주피터 노트북이 아예 실행이 안되어서,, 화가 나는 바람에^^ 아예 아나콘다를 삭제하고 다시 설치하였다. (NBextensions 플러그인 설치하지마세요 다들^^ 어차피 주피터 최신 버전에서는 안된다고 함) Mac에서 Anaconda를 제거할 때, 단순히 프로그램 설치를 하면 찌꺼기가 남아있어서 삭제가 안된다,,, 나와있는 글들을 보고 여러 방면으로 삭제를 해봤는데 잘 안되었다. 그래도 성공을 해서 기록으로 남겨본다! 터미널에서,, conda install anaconda-clean anaconda-clean --yes conda clean --all 아나콘다 파일은 root -> opt 파일안에 위치..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/120884# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 def solution(chicken): answer = 0 coupon = 0 # tmp는 현재 시킨 치킨 수 # answer은 모든 서비스 치킨 수(tmp의 합) tmp = chicken while tmp > 0: coupon += tmp % 10 answer += tmp // 10 tmp = tmp // 10 coupon += tmp while coupon >= 10:..
대부분 사용하는 버전은 Pandas 1.5.3임 -> 그러나, 현재 Pandas 2.0 버전이 나옴 => 1.5에서 2.0 버전으로 바뀌어가는 과도기임. 1. Colab에서 level 0에서 Pandas 따라하기 먼저, 온라인 환경인 Google Colab에서 실습을 해보자. -> 파일로 진행 한글 폰트 이슈 해결하기 - 로컬 # 한글 폰트 이슈 해결하기 - 로컬 import os import matplotlib.pyplot as plt # mac if os.name == "posix": plt.rc("font", family="AppleGothic") # window else: plt.rc("font", family="Malgun Gothic") 한글 폰..
1. JOIN이란? 두 개 혹은 그 이상의 테이블들을 공통 필드를 가지고 머지하는데 사용. 이는 스타스키마로 구성된 테이블들로 분산되어 있던 정보를 통합하는데 사용됨. 95%는 inner join과 left join으로 가능! -- JOIN 기본 문법 SELECT A.*, B.* FROM raw_data.table1 A ____ JOIN raw_data.table2 B ON A.key1 = B.key1 and A.key2 = B.key2 -- INNER, FULL, LEFT, RIGHT, CROSS WHERE A.ts >= '2019-01-01'; - 중복 레코드가 없고 Primary key의 유일..
1. GROUP BY와 AGGRECATE 함수 : 테이블의 레코드를 그룹핑하여 그룹별로 다양한 정보를 계산 1) 먼저 그룹핑을 할 필드 결정(하나 이상의 필드가 될 수 있음) -> GROUP BY로 지정 (필드 이름을 사용하거나 필드 일련번호를 사용) 2) 그룹별로 계산할 내용 결정 -> Aggregate 함수 사용 (COUNT, SUM, AVG, MIN, MAX, LISTAGG, ...) 월별 총 세션 수 -- 월별 세션수를 계산하는 SQL -- raw_data.session_timestamp를 사용 (sessionId와 ts 필드) SELECT LEFT(ts, 7) AS mon, COUNT(1)..
· MYSQL
count 함수는 SQL에서 레코드의 개수를 셀 때 사용한다. count는 쉬운거아냐?? ㄴ나도 그렇게 생각했지만, 몰랐던 것이 있어 기록으로 남겨본다! 이런 count_test 테이블이 있다고 가정해보자. SELECT COUNT(1) FROM count_test -- 7 SELECT COUNT(0) FROM count_test -- 7 SELECT COUNT(NULL) FROM count_test -- 0 SELECT COUNT(value) FROM count_test -- 6 SELECT COUNT(DISTINCT value) FROM count_test -- 4 위의 쿼리들은 count 함수의 다양한 예시이다. count 함수의 인자에 들어있는 숫자는 단순히 행의 존재 여부를 나타낸다. 즉, cou..
1. Redshift 론치 데모 : AWS 콘솔을 통해 Redshift를 론치해보자. (강사님이 만든 서버를 이용하여 실습 진행) AWS 홈페이지 -> 제품 -> 데이터베이스 -> Amazon Redshift 이동 2. 예제 테이블 소개 : 실습에 사용할 테이블 소개 사용자 ID : 보통 웹서비스에서는 등록된 사용자마다 부여하는 유일한 ID가 있음 세션 ID : 세션마다 부여되는 ID * 세션이란? : 사용자의 방문을 논리적인 단위로 나눈 것(크게 2가지 종류가 있음) - 사용자가외부링크(보통광고)를 타고 오거나 직접 방문해서 올 경우 세션을 생성 - 사용자가 방문 후 30분간 interaction..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/120882# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 def solution(score): answer = [] # 학생들의 평균을 담을 배열 mean mean = [] for eng, math in score: mean.append(eng * math / 2) # 평균이 큰 점수가 1등이 되도록 내림차순 정렬을 한 배열 sort_mean sort_mean = sorted(mean, reverse=True) # mean의 각 ..
· PYTHON
N진수 -> 10진수 int 함수의 2번째 인자를 활용해서 N 진수의 문자열을 정수형(int) 숫자로 형변환할 수 있다. # 2진수 문자열 -> 10진수 정수로 변경 int('문자', 2) # 8진수 문자열 -> 10진수 정수로 변경 int('문자', 8) # 16진수 문자열 -> 10진수 정수로 변경 int('문자', 16) 10진수 -> 2, 8, 16진수 # 10진수 -> 8진수 문자열 oct(11) # 0o13 # 10진수 -> 16진수 문자열 hex(11) # 0xb # 10진수 -> 2진수 문자열 bin(11) # 0b1011 10진수 -> N진수 10진수에서 2, 8, 16진수 외의 다른 진법으로 변환은 코드 작성이 필요하다. def solution(n, q): rev_base = '' wh..
_알파카
yeonnys' 개발일지