전체 글 139

[백준/Python] 6219번: 소수의 자격

1. 문제 6219번: 소수의 자격 세 정수 A, B, D가 주어진다. www.acmicpc.net 2. 해결방법 N의 크기가 작았기에 에라토스테네스의 체 알고리즘을 사용하였다. [ 알고리즘/ Python ] 소수 구하기 : 에라토스테네스의 체 코테, 백준 문제를 풀다보면 '소수'를 구하는 문제가 꽤나 나온다. 소수를 사람의 손으로 풀기에는 다소 어려움이 있을 수 있다. 2,3,5,7 .. 정도는 괜찮지만 컴퓨터 암호화에 사용되는 아주 큰 소 0lrlokr.tistory.com 3. 코드 A = [False, False] + [True]*4000000 for i in range(2, 4000000): if A[i]: for j in range(i+i,4000000, i ): A[j] = False a,b..

[알고리즘]/BOJ 2023.03.21

[ 알고리즘/ Python ] 소수 구하기 : 에라토스테네스의 체

코테, 백준 문제를 풀다보면 '소수'를 구하는 문제가 꽤나 나온다. 소수를 사람의 손으로 풀기에는 다소 어려움이 있을 수 있다. 2,3,5,7 .. 정도는 괜찮지만 컴퓨터 암호화에 사용되는 아주 큰 소수는 판별하기 어렵다. 그럼 컴퓨터에게 이 소수를 구하라고 시키는 프로그램을 작성해보자 ~ 1. 소수 1과 그 수 이외의 자연수로는 나눌 수 없는 자연수 소수는 2,3,5,7...에서 볼 수 있듯 약수가 2개라는 특징을 가진다. 이러한 특징 때문에 1은 소수가 될 수 없다. import math n = int(input()) def isPrime(n): if n

[알고리즘] 2023.03.21

[ 컴퓨터 네트워크 ] 2.2 Web and HTTP (1)

웹은 HTTP로 나타낸다. 브라우저 주소 입력창에 URL을 입력하면 웹서버로부터 리소스를 얻을 수 있다. 클라이언트는 서버에 요청을 하고 응답을 받는다. 이때 클라이언트에서 서버까지 데이터 이동의 흐름은 HTTP라는 프로토콜에 의해 진행된다 ! 1. 웹이란 ? 웹 브라우저 - 클라이언트 / 웹 서버 - 서버 그물과 같은 망 → 네트워크의 링크로 연결되어있다. 웹은 HTML파일 기반의 여러가지 Object들이 참조되어 구성된 페이지이다. ** Object는 HTML 파일 ,JPEG이미지, applet, audio 파일 등이 있다. 그리고 이 오브젝트는 URL이라는 주소를 통해 addressing 될 수 있다. *** URL (host name : 웹 서버의 도메인 네임 / ip주소 ) + path name..

[ 컴퓨터 네트워크 ] 2.1 network of application 원리

새로운 Chapter로 들어왔다 ! Chapter 1 에서 다루었던 컴퓨터 네트워크와 인터넷에서 배운 5계층을 각 계층별로 자세히 배운다. Chapter2에서는 Layer에 대해서 application에 관한 내용을 자세히 다룬다. network application의 원리에 대해 설명하고 웹과 HTTP, FTP, 메일에서 사용되는 프로토콜, DNS, P2P applications, 비디오 스트리밍, socket프로그래밍 ,UDP, TCP에 관한 내용을 배울 예정이다. 5 layer에 대해서는 지난 포스팅에서 자세히 다루어보았다. [ 컴퓨터 네트워크 ] 1.5 - 1.7 Protocol Layer개요 및 보안 1.5 Protocol layers, service models 네트워크는 복잡하다. 매우! 네..

[ 컴퓨터 네트워크 ] 1.5 - 1.7 Protocol Layer개요 및 보안

1.5 Protocol layers, service models 네트워크는 복잡하다. 매우! 네트워크는 복잡하며 수많은 'pieces'가 존재한다. - host, routers, links of various media, applications, protocols, hardware, software등등 이러한 수많은 네트워크 시스템을 다루기 위해 layer(계층)을 구성했다 ! * layers : 각각의 layer들이 서로 다른 기능을 수행한다. * layer마다 각자의 tool이 있고 독립적으로 구성되어있다. ** 독립적 구성 : layer끼리 서로 영향을 끼치지 않음 1. why layering? 앞서 말했듯이 네트워크는 복잡하고 layer는 복잡한 시스템을 다루는 방법이다 . 독립적으로 구성된 la..

[백준/Python]15624번: 피보나치 수 7 (DP)

1. 문제 15624번: 피보나치 수 7 첫째 줄에 n번째 피보나치 수를 1,000,000,007으로 나눈 나머지를 출력한다. www.acmicpc.net 2. 해결 사실 해결 방법은 단순했다. - DP를 사용해자. - [ 알고리즘 ] 다이나믹 프로그래밍(DP) - 개념 - 문제에서 '구하라는 값'에 집중하자 → 나머지 값을 메모이제이션에 넣어보자 ~ 3. 코드 n = int(input()) dp= [0,1,1] for i in range(3,n+1): dp.append((dp[i-1]+dp[i-2])%1000000007) print(dp[n]) 4. 잊지말자 많이 헤멨던 문제다. DP를 배우기 전 그냥 재귀호출로만 풀다가 시간초과, 런타임 에러를 띄우고.. DP를 배우고 다시 돌아왔다. 하지만 메모리 ..

[알고리즘]/BOJ 2023.03.19

[ 알고리즘 ] 다이나믹 프로그래밍(DP) - 개념

1. 다이나믹 프로그래밍(DP)이란 ? 큰 문제를 작은 문제로 나누어 푸는 알고리즘 다이나믹 프로그래밍, 동적계획법은 문제를 어떤 형태로 변형시켜 쉽게 푸는 방법을 의미한다. * 여담이지만 '동적(Dynamic)'은 멋있어보여서 붙은 이름이라고 한다. 처음에 이 사실을 모르고 Dynamic에 집중해서 이 알고리즘을 보았는데 .. 계속 어느 부분이 동적으로 작동한다는 거지? 라고 생각했었다. 이 사실을 알고 나서는 '계획법'을 집중해서 보게 되었다.. ! 2. DP의 2가지 필수 조건 1) Overlapping Subproblem 같은 문제는 항상(구할 때 마다) 정답이 같다. 큰 문제가 작은 문제로 세분화될 수 있고, 같은 방법으로 풀릴 때 ex. 피보나치 수 - Fib(n-1) = Fib(n-2) + ..

[알고리즘] 2023.03.18

[ 컴퓨터 네트워크 ] 1.4 Delay, Loss, Throughput

더보기 배우는 양도 많고 어려운 네트워크 .. 그래도 알수록 재밌는 것 같다. 1.4에서는 delay, loss등의 패킷 전송 시 발생할 수 있는 문제점의 원인들에 대해서 다루어보고 Throuput이라는 처리량에 대한 부분을 다룬다. 전체적인 성능 측정에 대한 부분을 다루는 장이었다. 이 부분에 집중하며 포스팅을 작성해보겠다. - 개요 1. Delay 와 Loss가 발생하는 과정 패킷 큐가 라우터 버퍼에 보관된다. 패킷이 링크에 도달하는 속도 > 패킷이 링크에서 나가는 속도 -> 패킷 큐가 자신의 차례를 기다림 딜레이 발생 버퍼에 패킷을 받을 자리가 없으면 손실(Loss)가 발생 ** 버퍼 : 데이터를 한 곳에서 다른 곳으로 전송하는 동안 일시적으로 그 데이터를 보관하는 메모리의 영역 ** 버퍼링 ( =..

[ 컴퓨터 네트워크 ] 1.3 Network core

Network core packet switching, circuit switching, network structure 네트워크의 구성은 여러가지이다. 앞서 포스팅에 작성했던 네트워크 엣지, 엑세스 네트워크, 그리고 오늘 다루어 볼 네트워크 코어까지 ! 이 외에도 있지만 오늘은 네트워크 코어에 대해 배운 내용을 자세히 써보려고 한다. 1. 네트워크 코어란? Mesh of interconnected router 수많은 라우터들이 그물처럼 얽혀있는 구조 즉, 라우터들의 연결 2. 네트워크에서 데이터가 움직이는 방법(데이터 교환 방식) 패킷교환(Packit Switching)과 회로교환(Circuit Switching) 패킷교환(Packit Switching) : 호스트가 애플리케이션 계층메세지(layer ..