오늘은 HashTable을 구현해 보았다. 해시테이블이란 key : value 형식으로 저장하는 자료구조 key값을 hash함수로 변환하여 index에 저장한다. 다양한 hash함수가 있지만 modular를 이용해 구현하였다. 해시테이블의 장점은 검색,저장,삭제시 O(1)이라는 시간복잡도가 소요될 수 있지만 해쉬 충돌이 발생하면 O(n)의 시간복잡도가 발생할 수 있다. class Hashtable: def __init__(self): self.size = 10 self.table = [[] for _ in range(self.size)] def _hash(self,key): return hash(key) % self.size def put(self,key,value): index = self._hash(..
https://www.acmicpc.net/problem/14503 #내 코드 """ 1. While문을 통해 답을 구하고, 벽을 만났을 시 종료한다. 2. for문을 통해 4가지 방향을 탐색하고 청소하지 않은 곳이 있다면 전진한다. 3. 4방향 모두 청소되어 있다면, 보고있는 방향의 반대 방향으로 후진한다. """ import sys input = sys.stdin.readline N,M =map(int,input().split()) r,c,d = map(int,input().split()) graph = [list(map(int,input().split())) for _ in range(N)] answer= 0 dx = [-1,0,1,0] dy = [0,1,0,-1] while True: # 시작 자..
OSI 7계층이란 네트워크 통신 방식에 대한 부분을 7가지로 나눈 것 이다. 나눈 이유는 어떠한 오류를 발견했을때 해당하는 계층의 오류를 예상할 수 있고, 다른 계층은 손대지 않아도 된다. 설계 원칙 계층간의 독립성을 유지하자 1단계 물리계층 허브와 같은 통신 데이터를 케이블로 연결하여 전송하는 것 2단계 데이터링크 계층 주소로 보낼 운송장비 MAC주소를 IP와 함께 보내준다 MAC주소는 컴퓨터의 고유한 번호 -> 주변 맥주소를 타고타고 원하는IP주소로 이동하는 것 3단계 네트워크 계층 아이피주소를찾아 연결/ 전화번호 찾아 연결 4단계 전송계층 보통 TCP로 연결 TCP/UDP 통신TCP는 연결성프로토콜, 순서,안정성이 보장됨3way, 4way hand shake로 연결, 연결해제 -> 연결성 프로토콜이..
[문제] https://www.acmicpc.net/problem/2573 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net [시간초과 풀이] import sys from collections import deque input = sys.stdin.readline N, M = map(int, input().split()) graph = [list(map(int, input().split())) for _ in range(N)] second_graph = [item[:] for item in graph] n..