📖저자님의 책 소개 영상: https://www.youtube.com/watch?v=Q13Uj_5bH9M
🗓️TIL (this week I learned)
월 개념정리
화 해시 함수, 충돌, 버킷, 체이닝
수 😴
목 깃허브 문제 풀기 2
금 난이도⭐ 풀기, 문제 세팅
토 🤒
➕ 참조:
https://en.wikipedia.org/wiki/Hash_table
https://en.wikipedia.org/wiki/Hash_function
https://ko.wikipedia.org/wiki/생일_문제
https://en.wikipedia.org/wiki/Birthday_problem
https://en.wikipedia.org/wiki/Four_color_theorem
https://school.programmers.co.kr/learn/courses/30/lessons/42576
def solution(participant, completion):
table = {}
for i in participant:
if i not in table:
table[i] = 1
else:
table[i] += 1
for j in completion:
table[j] -= 1
# 꺼내는 게 문제..
for key in table.keys():
if table[key] > 0:
return key
참고) https://velog.io/@erdosnumber0/leetcode-771.Jewels-and-Stoneseasy
# counter 활용하기
import collections
def solution(participant, completion):
answer = collections.Counter(participant) - collections.Counter(completion)
return list(answer.keys())[0]
개인적으로 왜 [0]이 있는걸까 의아했는데,
[0]이 없다면, ['미완주자'] 가 되었을 것이다.
list가 없었다면 dict_keys['미완주자']였을 것이고.
⌛시간 복잡도: 참가자 이름(N개)을 해시 테이블에 추가 ,
완주 참가자 이름(N-1개:문제 안에 1명을 제외하고 모두 완주한다는 얘기가 있으므로) 해시테이블에서 제외하는
고로, → 이지 않을까??? ❓❓❓❓
https://school.programmers.co.kr/learn/courses/30/lessons/131127
https://school.programmers.co.kr/learn/courses/30/lessons/42888
https://school.programmers.co.kr/learn/courses/30/lessons/42579
https://school.programmers.co.kr/learn/courses/30/lessons/72411
https://school.programmers.co.kr/learn/courses/30/lessons/42578
https://school.programmers.co.kr/learn/courses/30/lessons/17684
블로그 마크다운에서 파이썬 코드 입력하실때
```python 이라고 적으시고 밑에 코드 작성하시면 하이라이팅이 들어가서 좀더 보기 좋을꺼 같습니다!
leetcode 도 꾸준히 공부하고 계신거 같아서 저도 동기부여 받고 갑니다! 화이팅 😊