[Programmers] 완주하지 못한 선수

이현아·2020년 10월 7일
0

코딩 공부

목록 보기
1/19

  • participant : 마라톤에 참여한 사람들의 이름이 담긴 배열

  • completion : 완주한 사람들의 이름이 담긴 배열

    🧩Quest : 완주하지 못한 선수의 이름을 return하기 (참가자 중에는 동명이인이 있을 수 있다.)

해시 테이블

  • 색인해시 값을 사용하는 자료 구조로, 정렬을 하지 않고도 빠른 검색, 빠른 삽입이 가능하다.
  • 에 매핑할 수 있는 구조인 연관 배열 추상 자료형(ADT)을 구현하는 자료구조다.
  • 파이썬에서 자료형 딕셔너리는 해시 테이블로 구현되어 있다.

해시 함수

  • 임의 크기 데이터를 고정 크기 값으로 매핑하는 데 사용할 수 있는 함수
  • 해시 테이블을 인덱싱하기 위해 해시 함수를 사용하는 것을 해싱이라 한다.

딕셔너리

  • 대응 관계를 나타낼 수 있는 자료형
  • 키와 값이 한 쌍이며, 키를 통해 값을 찾는다.

Key : ①변하지 않는 값을 사용 ②고유한 값 (중복되면 나머지 모두 무시) ③ 리스트,딕셔너리 X

Value : ① 변하는 값/변하지 않는 값 모두 사용 ② 중복 가능

딕셔너리 관련 문법

1.쌍 추가

>>> a={1:'ab'}
>>> a
{1: 'ab'} 

>>> a[2]='b'
>>> a
{1: 'ab', 2: 'b'}

2.쌍 삭제 / 쌍 모두 삭제

>>> del a[1]
>>> a
{2:'b'}  #쌍 삭제
>>> a.clear()
>>> a
{}  #모두 삭제

3.Key 사용해 Value 얻기 / get 함수

>>> b={1:'hyuna',3:'happy'}
>>> b
{1: 'hyuna', 3: 'happy'}
>>> b[1]
'hyuna'     

>>> b.get(3)
'happy'

4.Key만 모아서 리스트 만들기 / Value만 모아서 리스트 만들기

>>> b.keys()     
dict_keys([1, 3])
 
>>> b.values()
dict_values(['hyuna', 'happy'])
  1. 반복문에도 사용 가능
>>> for k in b.keys():
	print(k)

	
1
3

>>> for v in b.values():
	print(v)

	
hyuna
happy

6.특정 Key가 딕셔너리 안에 있는지 조사하기

>>> 1 in b  #b가 1이라는 key를 가지고 있으면 True 그렇지 않으면 Fals
True
>>> 0 in b
False

모듈 Collections

딕셔너리 , 리스트, 집합 , 튜플에 대한 대안을 제공하는 특수 컨테이너 데이터형을 구현

*모듈: 함수나 변수 또는 클래스를 모아 놓은 파일

  • ChainMap : 여러 매핑의 단일 뷰를 만드는 딕셔너리류 클래스
  • Counter : 해시 가능한 객체를 세는 데 사용하는 딕셔너리 서브 클래스
  • OrderedDict : 항목이 추가된 순서를 기억하는 딕셔너리 서브 클래스

함수

입력값을 가지고 어떤 일을 수행한 다음에 그 결과물을 내어놓는 것.

1.함수 구조

>>> def function1(a,b):   #def 함수명(매개변수) : *def : 예약어 / 매개변수: 함수의 입력으로 전달된 값을 받는 변수
	c=a+b
	return(c)       #return: **함수**의 결괏값을 돌려주는 명령어(함수의 결괏값은 늘 하나/return단독으로 쓰면 함수를 즉시 빠져나감

>>> function1(1,2)        # 인수: 함수를 호출할 때 전달하는 입력값
3
  1. 입력값과 결괏값에 따른 함수의 형태
  • 일반적인 함수 – 입력값과 결괏값이 존재
>>> def function1(a,b):  
	c=a+b
	return(c)      

>>> function1(1,2)        
3
  • 입력값이 없는 함수
>>> def solution2():
	return 2

>>> solution2()
2
  • 결괏값이 없는 함수
>>> def solution3(a,b):
	print("안녕하세요")

	
>>> solution3(1,2)
안녕하세요
  • 입력값도 결괏값도 없는 함수
>>> def solution4():
	print("감사합니다")

	
>>> solution4()
감사합니다
profile
열심히 배워나가자

0개의 댓글

관련 채용 정보