이숭간 공부기록

동빈나 2021 이코테_ 1. 코테 출제경향 + 파이썬문법 본문

알고리즘/알고리즘 기초공부

동빈나 2021 이코테_ 1. 코테 출제경향 + 파이썬문법

이숭간 2021. 2. 1. 23:25
728x90

출제경향 : 그리디 / 구현 / BFS, DFS 가 가장 많이 출제됨

 

출처 : 유투버 동빈나 이코테2021강의 몰아보기 - 1

 

파이썬 - 대체로 1초에 2천만번정도의 연산을 할수있다고 가정하고 접근

  • 지수표현방식 : 1e9 = 10의 9제곱을 의미한다 / 임의의 큰 수를 표현하기위해 자주 사용됨 /ex) 최단경로 알고리즘에서 도달할수 없는 노드에 대해 최단거리를 무한으로 설정할때 

list

  • 직접 데이터를 넣어 초기화할수도 있고
  • 크기가N이고 모든값이 0인 리스트 초기화 : a = [0]*n
  • 인덱싱
  • 슬라이싱 : 연속적인 위치를 갖는 원소들을 가져올때 - 끝인덱스는 +1
  • 컴프리헨션 : 대괄호안에 조건문과 반복문을 적용해 리스트를 초기화 할수 있음
  • array = [i for i in range(10)]
  • array = [i for i in range(10) if i%2 ==1] // 0부터 9까지 수중에서 홀수인값만 배열에 담겠다.

  •  리스트컴프리헨션은 2차원리스트를 초기화할때 효율적으로 사용됨
  • array = [[0]*m for _ in range(n)] // n번 반복마다 m길이의 0으로 초기화된 배열이 생성됨 따라서 n*m크기의 2차원 배열이 생성됨
  •  

내부 리스트들은 같은 객체가됨

  • 반복을 수행하되 반복을 위한 변수값은 무시하고자 하면 언더바를 이용
  • for _ in range(5) : print('hello world')
  •  

  •  문자열은 변경불가능함 
  • 튜플도 한번 선언된 값은 변경할 수 없음
  • 튜플을 사용하면 좋은경우: 서로다른 성질의 데이터를 묶어서 관리할때 ( 최단경로알고리즘에서 비용과 노드번호의 형태를 묶어서 사용할때), 데이터의 나열을 해싱의 키값으로 사용해야 할때(튜플은 변경이 불가능하므로 리스트와 다르게 키값으로 이용될수있음)
  • 리스트보다 메모리를 효율적으로 사용해야할때

딕셔너리 : 키(변경불가능한 자료형)/값 --> 키값을 이용해서 원소에 접근

 

내부적으로 해시테이블을 이용하므로 데이터의 조회 및 수정이 O(1)의 시간에 처리할 수 있다. 

 

키만뽑기  : keys()

값만뽑기 : values()

 

* 모든 자료 및 이미지 출처는 동빈나님 유투브입니다.

www.youtube.com/channel/UChflhu32f5EUHlY7_SetNWw