전체 글 58

[알고리즘:파이썬] 04. 팩토리얼 구하기(재귀호출)

안녕하세요. 쏘피입니다. 오늘은 04. 팩토리얼 구하기 문제를 풀어보겠습니다. 1부터 n까지 연속한 정수의 곱을 구하는 알고리즘을 만들어 보세요. 풀이: 1) 입력: n 2) 출력: 1부터 n까지 연속한 숫자를 곱한 값 3) 파이썬으로 구현: # 1부터 n까지 연속한 정수의 곱을 구하는 알고리즘을 만들어 보세요. def fact(n): f = 1 #곱을 계산할 변수,초기값1 for i in range(1, n + 1): #1부터 n까지 반복 f = f*i return f print(fact(10)) 다음으로는 같은 문제를 재귀호출로 풀어보겠습니다. 잠깐! 재귀호출은 무엇일까요? 재귀호출: 어떤 함수 안에서 자기 자신을 부르는 것, 재귀호출 프로그램이 정상적으로 작동하려면 종료조건이 필요합니다. 재귀 호출..

[알고리즘:파이썬] 03. 동명이인 찾기

안녕하세요. 쏘피입니다. 오늘은 03. 동명이인 찾기 문제를 풀어보겠습니다. 문제: 동명이인을 찾으시오잠깐! 문제를 풀기 앞서 파이썬 기초 집합:1) 리스트와 같이 정보를 여러 개 넣어서 보관할 수 있는 파이썬의 기능2) 집합 하나에는 같은 자료가 중복되어 들어가지 않고, 자료의 순서도 의미가 없다. s = set() #빈 집합 만들기 s.add(1) # 자료 추가 s.add(2) s len(s) {1, 2} == {2, 1} #자료 순서 무관하므로 같은 집합풀이: 1) 입력: 이름이 n개 들어있는 리스트2) 출력: 이름 n개 중 반복되는 이름의 집합3) 계산 알고리즘: [1] 첫 번째 Tom을 뒤에 있는 Jerry, Mike, Tom과 차례로 비교 [2] 두 번째 Jerry를 뒤에 있는 Mike, To..

[알고리즘:파이썬] 02. 최대값/최소값 구하기

안녕하세요. 쏘피입니다. 오늘은 02. 최댓값 찾기 문제를 풀어보겠습니다. 문제: 최댓값을 구하시오 1, 9, 8, 100, 50 잠깐! 문제를 풀기 앞서 파이썬 기초 1) 리스트 할당 2) 자료 위치 3) 리스트 길이 # 1) 리스트 할당 a = [1, 9, 8, 100, 50] a #2) 자료 위치 a[2] #파이썬은 0부터 센다. 그래서 2를 넣으면 3번째 값인 8이 나옴 a[-1] #마지막값은 -1로 부를 수 있다.->50 #3) 리스트 길이 len(a) #list a의 자료 갯수->5 풀이: 1) 입력: 숫자가 n개 들어있는 리스트 2) 출력: 숫자 n개 중 최댓값 3) 계산 알고리즘: [1] 첫 번째 숫자를 최대값으로 기억 [2] 첫 번째 숫자와 두 번쨰 숫자를 비교하고 최댓값을 바꿔 기억 ...

[알고리즘:파이썬] 01. 1부터 n까지의 합 구하기

안녕하세요. 쏘피입니다. 오늘은 01. 1부터 n까지의 합 구하기 문제를 풀어보겠습니다. 문제: 1부터 n까지 연속한 정수의 합을 구하는 알고리즘을 만드시오. 풀이: 1) 입력값: N 2) 출력값: 1+.....+N 3) 계산과정: [1] 1+2인 3을 기억 [2] 3+3인 6을 기억 ... [N] N-1까지 더한 것을 기억 후 +N 4) 계산 알고리즘: [1] 합을 기록할 변수 S 생성 후 0 저장 [2] 변수 i를 만들어 1부터 n까지 숫자를 1씩 증가시키며 반복 [3] 기존 s+i 후 s에 값 저장 [4] 반복이 끝났을 때 s에 저장된 값이 결괏값 5) 파이썬으로 구현: def sum_m(n): # def로 n 넣는 함수 만들기 s = 0 # 값 저장할 s에 0 할당 for i in range(1,..

[컴퓨팅 사고: 알고리즘] 알고리즘 공부를 시작한 이유(feat. 데이터분석 )

안녕하세요. 쏘피입니다! 데이터 분석 직무에서 일하면서 알고리즘이라는 이야기를 많이 듣게 될 기회가 많았는데요. 인터넷 검색 알고리즘, SNS 친구추천 알고리즘, 자율 주행 알고리즘 등 뉴스에서 많이 들어보았죠. 귀에 딱지 앉게 듣던 '알고리즘' 그 뜻은 무엇일까요? 여러 사전을 찾아보다가 가장 쉽게 설명되어 있는 버전으로 가지고 왔습니다. 알고리즘 정의: 알고리즘은 우리가 어떤 문제를 해결할 때 그 절차를 알기 쉽도록 기술하는 논리적인 절차과정을 의미해요. 알고리즘이란, 어떤 일을 해결하려는 방법 및 절차랍니다. 알고리즘을 잘 알고 있다면 어떤 문제 상황에서도 좀 더 효율적으로 해결할 방법을 생각할 수 있게 됩니다. (정의 출처: 코들리) 간단하게 말하면 문제 해결시 논리적 해결 절차를 의미합니다. 좀..

[프로그램 TIP] SAS 유니버시티 에디션과 파이썬 연결하기-2편

안녕하세요. 쏘피입니다. 지난 1편에서 SAS UNIVERSITY EDITION을 사용하는 방법을 알아보았습니다. 오늘은 SAS UNIVERSITY EDITION에서 PYTHON을 연결하는 방법을 알아보겠습니다. 1. SAS STUDIO에 접속해주시고 JupyterLab을 클릭해줍니다. - SAS STUDIO 접속 방법: http://localhost:10080 - JupyterLab을 클릭해주시고 Python3을 선택합니다. 2. import saspy를 하고 pandas로 깃허브에서 데이터를 가져옵니다. import saspy import pandas as pd # githyb에서 데이터 가져오기 df = pd.read_csv('https://raw.githubusercontent.com/zonina..

DATA TOOL/SAS 2020.01.18

[프로그램 TIP] SAS 유니버시티 에디션과 파이썬 연결하기-1편

안녕하세요. 쏘피입니다. 오늘은 개인 노트북에서 PYTHON JUPYTER를 통해서 SAS를 사용할 수 있는 방법을 살펴보겠습니다. 저의 경우, 현재 회사에서는 SAS EG와 SAS EMINER를 중심으로 분석을 진행하고 있습니다. SAS의 경우, 라이센스 비용이 높아서 개인 컴퓨터에서는 사용하기가 어려운데요. 개인 노트북에서도 연습해볼 생각으로 PYTHON과 연결하는 방법을 찾아보기로 했습니다. 그리고 PYTHON 언어로 적어보고 그걸 SAS CODE로 고치는 방법도 알려주는 모듈이 있다고 해서 PYTHON 공부와 SAS 사용을 병행하시는 분에게는 좋은 기회가 될 것이라고 생각되네요. 단계는 2가지로 생각하시면 됩니다. 1단계: SAS UNIVERSITY 에디션 다운로드 받기 2단계: SAS STUDI..

DATA TOOL/SAS 2020.01.18

[세미나] 신한카드의 빅데이터 초개인화 스토리

[세미나 REVIEW] 신한카드 김효정 본부장의 발표로 진행된 빅데이터 초개인화 스토리 세미나를 살펴보자. 여러 금융 빅데이터 기업들 중 하나로 신한카드가 소개되었고, 업계에서는 선두라고 할 수 있는 그들의 전략과 비전을 볼 수 있는 기회였다. 원래 참여한 세미나는 AI시대, 데이터 경쟁력과 새로운 도전이라는 데이터경제포럼 공개세미나. 신한카드 초개인화 발표는 크게 3파트로 나뉘었다. 1) 초개인화 2) 제휴사 협업 3) 마이데이터 사업 CHAPTER1 초개인화 - 신한카드 데이터 비전 - 초개인화 경영 철학 - 보유 데이터와 인사이트 - 초개인화 전략 - 고객분석 방법 신한카드의 빅데이터 비전을 보자면 Connect more, Create the most로 내외부데이터와 상품, 고객, 비즈니스 파트너를..

TREND/DATA ANALYSIS 2020.01.17