목록2023/04/01 (4)
HJW's IT Blog
문제 정의 이 문제는 피보나치 수열을 재귀적으로 계산하는 함수를 구현하는 문제이다. 재귀 함수만을 이용하여 문제를 풀었을 경우 시간 제한이 있기에 풀 수 없다. 그렇기에 메모이제이션 기법을 통해 문제를 풀었다. 메모이제이션 이전에 계산한 값을 저장하여 다시 계산하지 않도록 하는 다이나믹 프로그래밍 # 테스트 케이스 개수 T = int(input()) # 메모이제이션을 위한 리스트 memo = [[0, 0] for _ in range(41)] memo[0], memo[1] = [1, 0], [0, 1] # 피보나치 수열을 계산하는 함수 def fibonacci(n): # 이미 계산된 값이면 메모이제이션된 값을 반환 if memo[n] != [0, 0]: return memo[n] # 메모이제이션을 위해 이..
Process Management OS 는 다음 활동들을 관리해야 한다 - User Programs - System programs 각 활동들은 암호화 되어 process 속에 있다 [text, data, segment, stack] 구조로 되어 있다 왜 이런 구조 일까? ex) Chrome 을 3번 돌린다면 process 가 3번 돌게 되는데 프로세스를 처음부터 모두 다 돌리게 된다면 메인 메모리의 사용이 비효율적이게 된다. 그러므로, 동일한 부분 공유 전역변수(HEAP) -> 어떤 프로세스던 바로 접근 가능하게 지역변수(STACK) -> 지역변수의 사용이 끝나기 전에 이전 지역변수 참조할 필요 x. 그러므로 stack을 사용 OS는 프로세스를 생성, 대기, 재생, 그리고 계획할 수 있어야 한다. 또한..
DNS 란? DNS란 인터넷에서 사용되는 네트워크 서비스 중 하나로, 컴퓨터나 다른 기기들이 인터넷에 연결되어 있는 IP 주소를 도메인 이름으로 매핑해주는 시스템 이다. DNS는 인터넷에서 도메인 이름을 사용하여 웹 사이트를 검색하거나 이메일을 보낼 수 있도록 해준다. 사용자가 도메인 이름을 입력시, DNS 서버는 해당 도메인 이름에 해당하는 IP 주소를 찾아서 사용자의 기기에 제공한다. DNS 는 전 세계적으로 분산된 서버 네트워크로 구성되어 있다. DNS services Host name을 IP 주소로 매핑한다. Host Aliasing - canonical, alias name Mail server aliasing Load distribution - Traffic이 한곳에 몰릴 때, 분산시킨다. D..
FTP 란? 컴퓨터 간에 파일을 전송하기 위한 표준 인터넷 프로토콜 Client - Server 모델 Client: 파일 업로드/다운로드 Server: 파일 전송 요청 TCP 사용하여 통신 -> 신뢰성 있는 연결 Client 가 Server 에게 port 21번으로 TCP 연결 요청을 보낸다 Client 는 원격 디렉토리를 브라우징 권한을 받고/ 전송 요청 Server는 전송 요청을 받았을 때, server는 2번째 TCP data 연결을 시작한다 (port 20) Server는 파일 하나를 전송한 뒤 data 연결을 종료한다 Server는 다른 파일 을 전송할 때, 새로운 TCP data 연결을 한다 FTP Server는 state 를 유지한다. PASV & EPSV Active Mode Client ..