전체 글

나의 개발 노트

    [빅데이터를 지탱하는 기술] 빅데이터의 탐색 # 1

    크로스 집계의 기본 데이터 시각화 에서 가장 기본이 되는 것은 '크로스 집계' 입니다. '크로스 집계'의 개념의 대하여 알아보겠습니다. 크로스 테이블 어떤 상품의 월별 매출을 정리한 데이터입니다. 크로스 테이블은 다음의 특징을 가집니다. 행 방향(세로)으로는 '상품명'이 나열되고, 열 방향(가로)으로는 '매출 월'이 나열됨 행과 열이 교차하는 부분에 숫자 데이터가 들어감 사람이 보기 편한 형식 트랜잭션 테이블 트랜잭션 테이블은 다음의 특징을 가집니다. 새로운 행을 추가하는 것은 간단하지만 열을 추가하는 것은 어려움 데이터가 증가할 때 행 방향으로 증가하고 열 방향으로 증가하지 않아야 함 데이터베이스가 다루기 편한 방식 크로스 집계(cross tabulation) 크로스집계는 트랜잭션 테이블에서 크로스 테..

    [코딩테스트] 백준 다리 놓기(1010) 파이썬(Python)

    https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net t = int(input()) d = {} for i in range(1,30+1): for j in range(i,30+1): if i == 1: d[(i, j)] = i * j elif i == j: d[(i, j)] = 1 else: d[i, j] = d[(i, j-1)] + d[(i-1, j-1)] for _ in range(t): n, m = map(int, input().split())..

    [빅데이터를 지탱하는 기술] 빅데이터 시대의 데이터 분석 # 2

    데이터 엔지니어링의 바이블이라 할 수 있는 책 "빅데이터를 지탱하는 기술"을 학습하고 정리한 글입니다. 데이터 웨어하우스와 데이터 마트 데이터 웨어하우스는 웹 서버나 업무 시스템에서 일반적으로 이용되는 RDB와는 달리 "대량의 데이터를 장기 보존하는 것"에 최적화 되어있습니다. 정리된 데이터를 한 번에 전송하는 것은 뛰어나지만 소량의 데이터를 자주 쓰고 읽는 데는 적합하지 않습니다. 데이터 소스 : 업무 시스템을 위한 RDB나 로그(로우 데이터) 등을 저장하는 파일 서버 ETL 프로세스 : 로우 데이터를 추출하고 필요에 따라 가공한 후 저장하는 과정 데이터 마트 : 데이터 웨어하우스에서 필요한(분석을 위한) 데이터만 추출하여 구축 데이터 레이크 여러 곳에서 흘러오는 데이터를 데이터 원래의 형태로 축적하는..

    [코딩테스트] 백준 색종이 만들기(2630) 파이썬(Python)

    https://www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net N = int(input()) array = [] for _ in range(N): array.append(list(map(int, input().split()))) zeros = 0 ones = 0 def solve(n,array): global zeros global ones all_zeros = True all_ones = True if n == 1: if arra..

    [코딩테스트] 백준 후위표기식(2)(1935) 파이썬(Python)

    https://www.acmicpc.net/problem/1935 1935번: 후위 표기식2 첫째 줄에 피연산자의 개수(1 ≤ N ≤ 26) 가 주어진다. 그리고 둘째 줄에는 후위 표기식이 주어진다. (여기서 피연산자는 A~Z의 영대문자이며, A부터 순서대로 N개의 영대문자만이 사용되며, 길이 www.acmicpc.net def cal(left, right, center): if center == '*': value=float(left) * float(right) elif center =='-': value = float(left) - float(right) elif center == '/': value = float(left) / float(right) else: value = float(left) +..

    [코딩테스트] 백준 숨바꼭질3(13549) 파이썬(Python)

    https://www.acmicpc.net/problem/13549 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net from collections import deque n, k = map(int, input().split()) q = deque() q.append((n, 0)) visited = set() visited.add(n) while q: x, d = q.popleft() if x == k: break for next_x in [2*x, x-1, x+1]: if ne..