[Python] LinkList 구현하기
·
🔻Language/Python
❗LinkList 이론https://radiant515.tistory.com/730 [DS] LinkedList❗LinkedList란?LinkedList란 각 데이터 요소가 노드 형태로 존재하고 각 노드가 다음 노드를 가리키며 연결된 형태를 가진다. 연결 구조 덕분에 데이터의 삽입과 삭제가 유연하게 가능하여 이 점에서radiant515.tistory.com  ❗Python에서 LinkList 구현하기1. 딕셔너리 구현# 연결 리스트를 나타내는 딕셔너리와 head 노드를 정의linked_list = {}head = None# 노드 추가 함수def append(key, data): global head # 새 노드 추가 linked_list[key] = {"data": data, "next"..
[DS] LinkedList
·
🔻Computer Science/Data Structure
❗LinkedList란?LinkedList란 각 데이터 요소가 노드 형태로 존재하고 각 노드가 다음 노드를 가리키며 연결된 형태를 가진다. 연결 구조 덕분에 데이터의 삽입과 삭제가 유연하게 가능하여 이 점에서는 배열보다 유리하다고 할 수 있다.노드(Node)연결 리스트에서 각 데이터를 담고 있는 단위각 노드는 데이터와 다음 노드를 가리키는 포인터를 가지고 있음헤드(Head)리스트의 첫 번째 노드를 가리키는 포인터연결 리스트는 첫 번째 노드부터 시작해서 다음 노드를 따라가면서 데이터를 조회포인터(Pointer)다음 노드의 위치를 가리키는 참조연결 리스트는 각 노드가 포인터를 통해 다음 노드의 위치를 알고 있음   ❗ LinkedList 종류단일 연결 리스트(Singly Linked List):각 노드가 하..
[Algorithm] 0-1 배낭 문제 이론 + 예제
·
🔻Computer Science/Algorithm
❗0-1 배낭 문제란?0-1 배낭 문제는 각 물건을 한 번만 선택하거나 아예 선택하지 않는 문제로 중복 선택이 불가하며 물건을 0번(선택하지 않음) 또는 1번(선택함) 선택할 수 있기 때문에 0-1이라는 이름이다. 최대 용량을 넘지 않으면서 가치의 합이 최대가 되도록 선택하는 방법이다. ❗예제배낭의 최대 용량: k = 5물건의 정보 무게가치물건123물건234물건345 물건1의 무게가 2이므로 용량이 2 이상일 때부터 넣을 수 있다. w=2 ~ w=5까지 물건1을 넣었기 때문에 3으로 갱신한다. 물건2의 무게는 3이기 때문에 w=3부터 w=5까지 넣을 수 있다. 이때 w=3, 4의 경우 물건1을 넣은 가치인 3보다 물건2을 넣은 가치 4가 더 크기 때문에 4로 갱신해 준다. w=5의 경우는 물건1의 무게 ..
[Algorithm] Dijkstra(다익스트라) 이론 + 예제
·
🔻Computer Science/Algorithm
❗Dijkstra(다익스트라)란?다익스트라(Dijkstra) 알고리즘은 그래프에서 한 노드에서 다른 모든 노드까지의 최단 경로를 찾는 알고리즘이며 가중치가 있는 양의 가중치 그래프에 사용된다.   ❗다익스트라 알고리즘의 원리초기 설정:시작 노드에서 모든 노드까지의 최단 거리를 저장하는 배열(distance)을 생성하고 모든 거리를 무한대로 초기화시작 노드의 거리는 0으로 설정우선순위 큐 사용:시작 노드부터 출발하여 우선순위 큐(또는 최소 힙)에 현재 거리가 가장 짧은 노드를 선택하여 탐색을 진행매번 가장 짧은 거리를 가진 노드를 선택해 그 노드의 인접한 노드들을 확인최단 거리 갱신:현재 노드에서 인접 노드로 가는 거리가 기존에 기록된 거리보다 짧으면 distance 배열을 갱신갱신된 정보를 큐에 추가하여..
[Network] DNS
·
🔻Computer Science/Network
❗DNS란?인터넷에서 도메인 이름(예: www.example.com)을 IP 주소(예: 192.0.2.1)로 변환하는 시스템이다. 사람이 기억하기 쉬운 도메인 이름을 사용해 웹사이트나 네트워크 자원에 접근할 수 있게 하며 IP 주소로 서버에 연결을 가능하게 하여 인터넷의 전화번호부 역할 한다. 인터넷이 정상적으로 작동하려면 신뢰할 수 있고 빠른 DNS 서비스가 필수적이다. ❗DNS의 역할과 동작 원리DNS는 계층 구조로 이루어져 있으며 단계별로 정보가 저장되고 검색된다. DNS 요청과 캐시 확인사용자가 웹 브라우저에 도메인 이름을 입력하면 먼저 브라우저와 운영 체제에서 해당 도메인 이름의 IP 주소가 캐시(임시 저장소)에 있는지 확인함캐시에 존재하지 않으면 DNS 서버에 요청을 보냄DNS 서버 계층 구조..
[2024] 2024년 4분기 회고
·
🔻회고
✨ #10월- 10월은 자소서와 필기 전형, 코테의 달이었던 것 같다. 서합이 될 거라고 생각도 안 했던 곳이 있어서 인적성도 따로 준비 안 했었는데 부랴부랴 준비하긴 했지만 필탈이었다ㅠㅠ 어느 정도까지 서합할 수 있을지 감도 안 잡혀서 준비를 제대로 못 했던 내 탓이다..ㅎㅎ 개발자는 코테만 하면 되는 줄ㅠ- 매주 주말마다 코테나 필기 시험이 있어서 주중이 주말같고 주말이 주중같았다! - 그래도 틈틈이 나가서 놀기도 하며 한 달을 살아갔던 것 같다ㅎㅎ  #11월- 11월엔 첫 면접이 있었다! 원데이 면접이라 그냥 즐겁게 즐기다가 와야겠다.. 라는 생각이 더 컸다. 그래서 뭐 하루종일 조원들이랑 즐거웠다!- 그리고 이 면접에 합격해서 갑자기 인턴이 되었다ㅋㅎㅋㅎㅋ 연수원도 무우우려 3주... - 첫 연수..
[Codetree] 예술성 Python
·
🔻PS/Codetree
https://www.codetree.ai/training-field/frequent-problems/problems/artistry/description?page=5&pageSize=5 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetree.ai from collections import defaultdictn = int(input())graph = []visited = [[0 for _ in range(n)] for _ in range(n)]dx = [0, 0, 1, -1]dy = [1, -1, 0, 0]for _ in range(n): temp = list..
[Baekjoon] 백준 22233 가희와 키워드 Python
·
🔻PS/Baekjoon
https://www.acmicpc.net/problem/22233 ❗풀이방법문자열을 처리하는 문제이기 때문에 rstrip을 꼭 써주어야 함 (이거 때문에 통과를 못 했었다,,)set의 이용하여 중복을 제거하고 차집합을 사용 ❗코드import sysinput = sys.stdin.readlineN, M = map(int, input().split(" "))keywords = set()for _ in range(N): temp = input().rstrip() keywords.add(temp)for _ in range(M): memos = set(input().rstrip().split(",")) keywords -= memos print(len(keywords))
[Baekjoon] 백준 1253 좋다 Python
·
🔻PS/Baekjoon
https://www.acmicpc.net/problem/1253 cnt = 0N = int(input())num = list(map(int, input().split(" ")))num.sort()cnt = 0for i in range(N): target = num[i] left = 0 right = N-1 while left
[Database] Sharding
·
🔻Computer Science/Database
❗Sharding(샤딩)이란?대규모 데이터베이스를 처리할 때 성능과 확장성을 확보하기 위해 데이터를 분할하는 기법이다. 데이터 분할 목적: 단일 데이터베이스 서버가 처리할 수 있는 용량이나 트래픽에 한계가 있을 때 이를 극복하기 위해 데이터를 여러 개의 작은 데이터베이스로 나누어 분산 처리수평적 분할(Sharding): 데이터를 수평으로 나누어 각각의 분할된 데이터베이스(샤드, shard)가 독립적으로 작동하며 적은 양의 데이터를 처리하게 함으로써 성능을 향상시키고 확장성을 높임예시: 고객 정보 100만 건을 4개의 샤드로 나누면 각 샤드는 약 25만 건의 데이터를 저장하고 처리  ❗ Sharding의 장점확장성(Scalability)데이터를 여러 서버에 분산하여 저장하고 처리할 수 있어서 서버 성능에 ..
_니지
'분류 전체보기' 카테고리의 글 목록 (2 Page)