백준 22988. 재활용 캠페인
·
백준
https://www.acmicpc.net/problem/22988n, x = map(int,input().split())arr = sorted(list(map(int,input().split())))cnt = 0s = 0e = n-1rest = 0while s e 일 떄 멈춘다는 뜻 if arr[e] == x: cnt += 1 e -= 1 continue if s == e: rest += 1 break # 이제 탐색 끝났으니 빠져나오기 if arr[s] + arr[e] >= x/2: cnt += 1 s += 1 e -= 1 else: rest += 1 s ..
백준 3273. 두 수의 합
·
백준
https://www.acmicpc.net/problem/3273n = int(input())arr = sorted(list(map(int,input().split())))x = int(input())s = 0e = n-1cnt = 0while s = x: # 정답 조건을 찾은 경우, 다음은 어차피 e -=1 을 해야하므로 e -= 1 else: s += 1print(cnt)
2. 컴퓨터 네트워크
·
Cs
1️⃣OSI 7계층: 국제 표준화 기구에서 네트워크 통신이 이뤄지는 과정을 7단계로 나눈 네트워크 표준 모델- 송신부: 데이터 송신 시 높은 계층->낮은 계층으로 전달 수신부: 데이터 송신 시 낮은 계층->높은 계층으로 전달- 데이터 캡슐화: 데이터 송신 시 각 계층에서 필요한 정보를 추가(제어 정보를 담은 헤더 or 트레일러)해 데이터를 가공하는 과정 -> 수신부의 같은 계층에서 데이터 호환성을 높이고 오류의 영향을 최소화하기 위해!- 송신부에서 데이터 캡슐화를 거친 결과물을 수신부로 보내면, 수신부는 헤더와 트레일러를 분석해 제거하는 역캡슐화 진행- 프로토콜(=통신규약): 데이터를 송수신하기 위해 정한 규칙.     (1) 1계층(물리 계층): 데이터를 비트 단위로 변환 후 전송하거나 전기 신호를 ..
1. 운영체제 (3)
·
Cs
1️⃣논리 메모리와 물리 메모리- 논리 메모리 영역(=가상 메모리 영역): 프로세스가 보는 메모리 영역- 논리 주소(=가상 주소): CPU가 프로세스를 실행하며 보는 주소 값- 물리 메모리 영역(RAM): 실제로 사용되는 메모리 영역- 물리 주소: 실제 메모리에서 사용되는 주소 값    -> 메모리 관리 장치(MMU): CPU에 위치해 논리 주소를 물리 주소로 변환시켜주는 역할을 함. CPU에서 메모리에 접근하기 전에 MMU를 거쳐 논리 주소에 해당하는 물리 주소를 얻음 -> 메모리 보호!2️⃣ 연속 메모리 할당 : 멀티 프로세스 환경에서 여러 프로세스를 메모리에 연속적으로 로드하는 방법    (1) 고정 분할 방식: 메모리 영역을 분할한 뒤 각 영역에 프로세스 할당. 분할된 영역의 크기는 서로 다르며..
백준 2156. 포도주 시식
·
백준
https://www.acmicpc.net/problem/2156틀린 처음 풀이'''연속으로 3잔 마실 수 없음! 2잔까지 가능'''import sysinput = sys.stdin.readlinesys.setrecursionlimit(10**6)n = int(input())arr = [int(input()) for _ in range(n)]dp = [-1 for _ in range(n+1)]def recur(idx, cnt): if idx >= n-1: return 0 if cnt == 3: return dp[idx] if dp[idx] != -1: return dp[idx] # 먹었을 때와 안먹었을 때를 비교해서 더 큰 값 저장 dp[i..
백준 9251. LCS
·
백준
https://www.acmicpc.net/problem/9251M = input()N = input()dp = [[0 for _ in range(len(N)+1)] for _ in range(len(M)+1)]for i in range(1, len(M)+1): # 직전의 문자 비교를 위해 1로 시작 for j in range(1, len(N)+1): if M[i-1] == N[j-1]: # 직전의 문자가 같다면 dp[i][j] = dp[i-1][j-1] +1 # 현재의 dp값을 직전 dp값 + 1(공통점을 찾았다! = 부분수열로 만들 수 있다) else: # 직전의 문자가 다르다면 끊기므로 이전값 그대로 가져오기... dp[i][j]..