본문 바로가기

HASH4

[자료구조] 빙고 파이썬 (hash,list comprehension) def solution(board, nums): n = len(board) # board의 길이 nums = dict.fromkeys(nums, True) # nums 리스트 값을 키로 변환하여 dict로 만들어준다, # nums = {14: True, 3: True, ... , 5: True, 15: True} row_list = [0] * n col_list = [0] * n left_diagonal = 0 right_diagonal = 0 for i in range(n): # O(n) for j in range(n): # O(n) if board[i][j] in nums: # O(1) board[i][j] = 0 # make it checked row_list[i] += 1 col_list[j] +.. 2021. 4. 26.
[자료구조] 방문 길이 파이썬 (hash) def solution(dirs): x,y = 5,5 # start point mapping = {"U":(0,1), "D":(0,-1), "R":(1,0), "L":(-1,0)} visited = [[0 for _ in range(11)] for _ in range(11)] for i,d in enumerate(dirs): if 0 2021. 4. 24.
[자료구조] 대중소 괄호 짝 맞추기 파이썬 (stack, valid parentheses) stack의 대표적 문제니까 다시 또 체크 3.28일에 풀었네 (link) 이건 물론 다른 사람의 풀이 def solution(s): stack = [] # Hash map for keeping track of mappings. This keeps the code very clean. # Also makes adding more types of parenthesis easier mapping = {")": "(", "}": "{", "]": "["} # For every bracket in the expression. for char in s: # If the character is an closing bracket if char in mapping: # Pop the topmost element fro.. 2021. 4. 22.
[프로그래머스] 전화번호 목록 파이썬 Hash 테스트 케이스가 바뀌기도 했고 해쉬 카테고리인테 해쉬가 어떻게 쓰이는지 궁금하던 찰나 발견한 블로그 파이썬 의 dictionary 자료형이 hash table 이다. def solution(phone_book): answer = True hash_map = {} # 등장한 숫자들을 count 딕셔너리로 만듦 for phone_number in phone_book: hash_map[phone_number] = 1 # 다시 숫자들을 꺼낸뒤 for phone_number in phone_book: temp = "" for number in phone_number: #숫자 하나씩 뜯어보기 temp += number #딕셔너리 키로 같은게 있지만! 전체 숫자는 다른 경우! if temp in hash_map an.. 2021. 3. 11.