문자열(str) : "This is a string."
리스트(list) : [5, 9, 2, 7]
사전(dict) : {'a' : 6, 'bc' : 4}
순서상(tuple)
집합(set)
......
...
.
Python에서 이미 제공하는 데이터 타입으로 다 해결할 수 있을 것 같지만,
→ "자료구조"(data Structures)라는 것을 왜 알아야하는 걸까?
import time
n = int(input("Number of elements: "))
haystack = [k for k in range(n)]
print("Searching for maximum value...")
ts = time.time()
maximum = max(haystack)
elapsed = time.time() - ts
print("Maximum element = $d, Elapsed time = %.2f" %(maximum, elapsed)
→ 안돌아감...=_=
⇒ 좀 더 빠른 방법으로 요소를 알아보는 방법이 있을까?
⇒ 알고리즘(algorithm) 이 나옴
사전적 정의
: 어떤 문제를 해결하기 위한 절차, 방법, 명령어들의 집합
프로그래밍 정의
: 주어진 문제의 해결을 위한 자료구조와 연산 방법에 대한 선택
어서와! 자료구조와 알고리즘은 처음이지? - 1강 실습: 리스트 원소 두 개의 합 구하기
입력으로 주어지는 리스트 x 의 첫 원소와 마지막 원소의 합을 리턴하는 함수 solution() 을 완성하세요.
def solution(x):
answer = 0
answer = int(x[0]) + int(x[-1])
return answer
정확성 테스트
테스트 1 〉 통과 (0.03ms, 10.7MB)
테스트 2 〉 통과 (0.04ms, 10.6MB)
테스트 3 〉 통과 (0.04ms, 10.6MB)
채점 결과
정확성: 100.0
합계: 100.0 / 100.0