Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 출력
- 불 연산
- codeup
- 선택실행구조
- 16진수
- 10진수
- OpenCV
- 논리연산
- 딥러닝
- 기초100제
- bitwise
- 반복실행구조
- Docker
- 종합
- 아스키코드
- 비트단위논리연산
- 기초 100제
- 입출력
- input()
- 2진수
- 8진수
- 불 자료형
- face recognition
- 진수
- 코드업
- 문자열
- 비교연산
- 2차원배열
- 산술연산
- 파이썬
Archives
- Today
- Total
DeepFlowest
[모두의 알고리즘 with 파이썬] 01_알고리즘 기초 본문
728x90
반응형
SMALL
1. 1부터 n까지 연속한 숫자의 합을 구하는 알고리즘
- 입력: n
- 출력: 1부터 n까지의 숫자를 더한 값
방법 1)
def sum_n(n):
result = 0
for i in range(n+1):
result+=i
return result
print(sum_n(10))
print(sum_n(100))
===================================
결과 :
55
5050
방법 2)
def sum_n(n):
result = (n*(n+1))/2
return int(result)
print(sum_n(10))
print(sum_n(100))
===================================
결과 :
55
5050
2. 최댓값을 구하는 알고리즘
- 입력: 숫자가 n개 들어 있는 리스트
- 출력: 숫자 n개 중 최댓값
def find_max(a):
max = a[0]
for i in a:
if i > max:
max = i
else:
continue
return max
v = [17, 92, 18, 33, 58, 7, 33, 42]
print(find_max(v))
======================================
결과 :
92
- 입력: 숫자가 n개 들어 있는 리스트
- 출력: 숫자 n개 중에서 최댓값이 있는 위치(0부터 n-1까지의 값)
def find_max_idx(a):
max = a[0]
for i in range(len(a)):
if a[i] > max:
max = a[i]
max_idx = i
else:
continue
return max_idx
v = [17, 92, 18, 33, 58, 7, 33, 42]
print(find_max_idx(v))
=====================================
결과 :
1
3. 동명이인을 찾는 알고리즘
- 입력: 이름이 n개 들어 있는 리스트
- 출력: 이름 n개 중 반복되는 이름의 집합
def find_same_name(a):
result = set() # 빈 집합 생성
for i in range(len(a)):
name = a[i]
for j in range(i+1,len(a)):
if name == a[j]:
result.add(a[j])
else:
continue
return result
name = ["Tom", "Jerry", "Mike", "Tom"] # 대소문자 유의: 파이썬은 대소문자를 구분함
print(find_same_name(name))
name2 = ["Tom", "Jerry", "Mike", "Tom", "Mike"]
print(find_same_name(name2))
=========================================================
결과 :
{'Tom'}
{'Tom', 'Mike'}
문제 출처 : 모두의 알고리즘 with 파이썬, 엘리스 아카데미
728x90
반응형
LIST
Comments