DATA TOOL/ALGORITHM(알고리즘) 5

[알고리즘:파이썬] 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 친구추천 알고리즘, 자율 주행 알고리즘 등 뉴스에서 많이 들어보았죠. 귀에 딱지 앉게 듣던 '알고리즘' 그 뜻은 무엇일까요? 여러 사전을 찾아보다가 가장 쉽게 설명되어 있는 버전으로 가지고 왔습니다. 알고리즘 정의: 알고리즘은 우리가 어떤 문제를 해결할 때 그 절차를 알기 쉽도록 기술하는 논리적인 절차과정을 의미해요. 알고리즘이란, 어떤 일을 해결하려는 방법 및 절차랍니다. 알고리즘을 잘 알고 있다면 어떤 문제 상황에서도 좀 더 효율적으로 해결할 방법을 생각할 수 있게 됩니다. (정의 출처: 코들리) 간단하게 말하면 문제 해결시 논리적 해결 절차를 의미합니다. 좀..