[자료구조와 알고리즘]#1. 안녕, 자료구조와 알고리즘!

해피데빙·2023년 1월 22일
0

코딩테스트

목록 보기
49/50

출처: 자료구조와 알고리즘은 처음이지?
https://school.programmers.co.kr/learn/courses/57/lessons/13815

1. 안녕, 자료구조와 알고리즘!

파이썬 데이터타입들

1)문자열 "This is a string"
2)리스트 [요소,,,]
3)사전 {키:값, 키:값..}
4)순서쌍 tuple, 집합 set...

이렇게 파이썬에서 이미 제공하는 데이터 타입으로 다 해결할 수 있을 거 같은데 왜 자료구조를 알아야 할까?

기본적인 데이터타입으로 해결하기 어려울 때 사용하기 위해!

자료구조?

  • 프로그램의 실행 시간을 재기 위해 time 사용
  • time.time()으로 time stamp를 한다
  • 0부터 시작해서 n-1까지의 리스트를 만든다
  • maximum으로 리스트의 최댓값을 찾아줄 때 사용할 수 있는 방법
    리스트는 모든 요소들을 다 확인해야 하니까 최댓값을 찾을 때 수의 크기만큼 오래 걸린다
    그러므로 다른 자료구조를 사용하면 더 쉽게 값을 구할 수 있다

알고리즘?

  • 사전적 정의 : 어떤 문제를 해결하기 위한 명령, 방법, 절차들의 조합
  • 프로그래밍 : 주어진 문제의 해결을 위한 자료구조와 연산 방법에 대한 선택

해결하고자 하는 문제에 따라 (응용 종류와 범위에 따라) 최적의 해법은 서로 다르다
이 선택을 어떻게 해야 하느냐를 알기 위해 자료구조를 이해해야 한다
ex. 100개의 숫자 중에서 어떤 숫자를 찾을 때 어떻게 섬색할지

def solution (x):
return x[0]+x[len(x)-1]

profile
노션 : https://garrulous-gander-3f2.notion.site/c488d337791c4c4cb6d93cb9fcc26f17

0개의 댓글