코딩 테스트 준비 - 파이썬 문법

J-USER·2021년 3월 18일
0

알고리즘

목록 보기
1/13
post-thumbnail

튜플

  • 특징
    • 리스트와 유사하지만 소괄호를 쓰고 선언된 값을 변경할 수 없음.
    • 리스트에 비해 상대적으로 공간 효율적임.
  • 사용하면 좋은 경우
    • 서로 다른 성질의 데이터를 묶어서 관리할 때. (ex. 최단 경로 알고리즘에서 비용,노드 번호 등의 형태)
    • 해싱의 키 값으로 사용해야 할 때.
    • 리스트 보다 메모리를 효율적으로 사용해야할 때

Dict()

  • 특징
    • 키,값의 쌍을 데이터로 가지는 자료형
    • 키는 변경 불가 하지만 값은 변경 가능.
    • 데이터 조회 및 수정이 O(1)로 빠른 처리 가능.
    • keys()로 키 데이터만 뽑아 리스트로 이용 가능/ values()로 값 데이터 뽑아서 리스트 이용
data = dict()
data['a'] = 'Apple'
data['b'] = 'Banana'
data['c'] = 'Coconut'

Set()

  • 특징

    • 중복을 허용하지 않음.
    • 순서가 없음.
    • 리스트 혹은 문자열을 이용해서 초기화 할 수 있음 (set ([]) , {x,y,z,....} )
    • 중괄호를 사용해 콤마를 기준으로 원소로 집합과 관련된 다양한 연산 가능(합집합|, 교집합&, 차집합-).
    • 데이터 조회 및 수정이 O(1)로 빠른 처리 가능.
  • 관련 함수

    • add() : 새로운 원소 하나 추가
    • update(): 새로운 원소 여러 개 추가
    • remove(): 특정 값을 갖는 원소 삭제

자주 사용하는 외부 라이브러리

순열과 조합 (itertools)

  • 순열
    • 순서에 따라 다른 모든 경우의 나열.
      from iter tools import permutations
      result = list(permutations(data_list, chosen_num ))
    • 중복 순열
      from itertools import product
      result = list(product(data_list , repeat = chosen_num ))
  • 조합
    • 순서에 상관 없이 모든 경우의 나열.
      from iter tools import combinations
      result = list(combinations(data_list, chosen_num ))
    • 중복 조합
      from itertools import combinations_with_replacement
      result = list(combinations_with_replacement(data_list , chosen_num ))
profile
호기심많은 개발자

0개의 댓글