전체 글
-
[CS] 네트워크 기초CS지식 2025. 3. 19. 16:13
네트워크네트워크란 컴퓨터 장치들이 통신 기술을 이용하여 구축하는 연결망을 지칭하는 용어네트워크 기초노드(node)와 링크(link)가 서로 연결돼 있거나 연결되지 않은 집합체 ( 노드 = 서버, 라우터, 스위치 / 링크 = 유,무선)2.1.1 처리량과 지연 시간좋은 네트워크성능 : 처리량과 지연시간의 측면에서 짧고 많은 처리를 할 수 있어야 한다.신뢰성 : 장애빈도, 장애 발생 후 회복시간, 재난에 대한 견고성 등보안성 : 불법적 침입이나 정보 유출에 대한 보안 확보처리량링크를 통해 전달되는 단위 시간당 데이터양을 의미단위 시간당 성공률을 의미한다. / 단위는 bps(bits per second)많은 사용자들이 접속할 때마다 커지는 트래픽, 네트워크 장치 간 대역폭, 중간에 발생하는 에러, 장치의 하드웨..
-
13398. [Python]연속합 2Python_알고리즘/Gold V 2025. 3. 16. 22:52
1. 문제 https://www.acmicpc.net/problem/13398 2. 접근 방법 시간 제한: 2초메모리 제한: 512MB다이나믹 프로그래밍 3. 파이썬 코드 N = int(input())num_list = list(map(int,input().split()))# 문제에서 최소 한 개 이상의 수를 선택해야기 때문에 N이 1인 경우 예외처리 진행if N == 1: print(num_list[0])# N이 2개 이상인 경우else: # 첫 누적합을 구할 리스트를 생성 dp = [0] * N # 누적합을 구하기 위한 리스트는 첫 인덱스 값으로 선언 dp[0] = num_list[0] # 1번 인덱스부터 N 까지 반복 for i in range(1,N): ..
-
2529. [Python]부등호Python_알고리즘/Silver I 2025. 2. 6. 05:37
1. 문제 https://www.acmicpc.net/problem/2529 2. 접근 방법 시간 제한: 1초메모리 제한: 256MB백트래킹브루트포스 3. 파이썬 코드 # 백트래킹def backtracking(index, check): # 인덱스가 끝값에 도달할 경우 if index == K + 1: answer.append("".join(map(str, check))) return # 0 ~ 9 까지 값 반복하며 방문헀는지 안했는지 및 부등호에 따른 연산자 처리 for num in range(10): if not visited[num]: if index == 0 or (operator[index - 1] == "" and c..
-
1051. [Python]숫자 정사각형Python_알고리즘/Silver III 2025. 2. 5. 04:22
1. 문제 https://www.acmicpc.net/problem/1051 2. 접근 방법 시간 제한: 1초메모리 제한: 128MB구현 3. 파이썬 코드 N, M = map(int,input().split())matrix = [ list(map(int,input())) for _ in range(N)]# 최대 결과값이 1이 될 수 있으므로 1을 베이스로 시작result = [1]# 브루트포스 시작for i in range(N): for j in range(M): # 꼭지점 계산을 위한 초기값 선언 current = 1 # 범위 내에 존재하면 계속 반복문 진행 while i+current 4. 문제를 풀고난 후 생각 N, M 값이 크지 않고 모든..
-
2343. [Python]기타 레슨Python_알고리즘/Silver III 2025. 1. 17. 03:04
1. 문제 https://www.acmicpc.net/problem/2343 2. 접근 방법 시간 제한: 2초메모리 제한: 128MB이분 탐색 3. 파이썬 코드 N, M = map(int, input().split())num_list = list(map(int, input().split()))# 시작 점과 끝점 설정을 블루레이 길이로 설정start = max(num_list)end = sum(num_list)# 이분 탐색while start 4. 문제를 풀고난 후 생각 평범한 이분 탐색과 같이 0 혹은 1로 초기값을 잡을 경우 불필요 연산 및 예외 케이스가 나올 수 있기 때문에 초기 시작값을 리스트 내에서 max 값으로 선언해준다.end 값으로는 결국 리스트를 모두 합한 값보다 클 수 가 없기 때문에 ..
-
11663. [Python]선분 위의 점Python_알고리즘/Silver III 2025. 1. 16. 03:28
1. 문제 https://www.acmicpc.net/problem/11663 2. 접근 방법 시간 제한: 1초메모리 제한: 256MB이분 탐색 3. 파이썬 코드 import sys# 많은 인풋 처리input = sys.stdin.readline# N 과 M 인풋N, M = map(int,input().split())# 점들 리스트num_list = list(map(int,input().split()))# 점들 정렬num_list.sort()# M 선분 횟수만큼 반복for _ in range(M): # 시작점 끝점 받기 start,end = map(int,input().split()) # 시작점과 끝점이 범위내에 없는 경우 연산 제외 if start > num_list[-1] or..
-
1654. [Python]랜선 자르기Python_알고리즘/Silver II 2025. 1. 15. 02:16
1. 문제 https://www.acmicpc.net/problem/1654 2. 접근 방법 시간 제한: 2초메모리 제한: 128MB이분 탐색 3. 파이썬 코드 # 인풋 처리import sys# 많은 인풋input = sys.stdin.readlineN, K = map(int,input().split())# 랜선 길이num_list = []# 최대값 최소값 설정right = 2**31 - 1left = 1for _ in range(N): num_list.append(int(input()))# 이분 탐색while left = K: left = middle + 1print(right) 4. 문제를 풀고난 후 생각 이분 탐색문제로 right 값으로는 랜선 최대 길이 left 로는 최소 길이인..
-
2776. [Python]암기왕Python_알고리즘/Silver IV 2025. 1. 14. 04:09
1. 문제 https://www.acmicpc.net/problem/2776 2. 접근 방법 시간 제한: 2초메모리 제한: 256MB딕셔너리 3. 파이썬 코드 import sys# 많은 인풋처리T = int(sys.stdin.readline())# 테스트 케이스 반복문for i in range(1,T+1): # 딕셔너리 선언 num_dict = {} N = int(sys.stdin.readline()) nums = list(map(int,sys.stdin.readline().split())) M = int(sys.stdin.readline()) nums_check = list(map(int,sys.stdin.readline().split())) # 딕셔너리에 값 저장 ..
-
14562. [Python]태권왕Python_알고리즘/Silver I 2025. 1. 2. 18:46
1. 문제 https://www.acmicpc.net/problem/14562 2. 접근 방법 시간 제한: 2초메모리 제한: 128MB그래프 이론너비 우선 탐색 3. 파이썬 코드 import sysfrom collections import deque# BFS 통한 탐색def BFS(start,target): # 초기값으로 시간, 시작점, 목표점 q = deque([(0,start,target)]) while q: time, current, target = q.popleft() # 현재 점수가 목표점수와 같은 경우 if current == target: # 시간 출력 print(time) br..
-
31263. [Python]대한민국을 지키는 가장 긴 힘Python_알고리즘/Silver III 2025. 1. 2. 17:43
1. 문제 https://www.acmicpc.net/problem/31263 2. 접근 방법 시간 제한: 1초메모리 제한: 1024MBTop-Down 3. 파이썬 코드 N = int(input())number = input()# 사람 수 체크cnt = 0# 인덱스 접근index = N-1# 인덱스 값이 0 보다 크거나 같을때 반복while index >= 0: # 만약 현재 인덱스 -2 값이 0 보다 작은경우 사람 추가 후 탈출 if index - 2 641: # 현재 일수를 나눠서 그 자리수 체크 day_str = str(day) # 만약 자리수가 한자리면 인덱스 -1 두자리면 -2 if int(day_str..