분류 전체보기 140

[Python][백준] 1080_행렬

https://www.acmicpc.net/problem/1080 1080번: 행렬 첫째 줄에 행렬의 크기 N M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 행렬 A가 주어지고, 그 다음줄부터 N개의 줄에는 행렬 B가 주어진다. www.acmicpc.net 더보기 문제 0과 1로만 이루어진 행렬 A와 행렬 B가 있다. 이때, 행렬 A를 행렬 B로 바꾸는데 필요한 연산의 횟수의 최솟값을 구하는 프로그램을 작성하시오. 행렬을 변환하는 연산은 어떤 3*3크기의 부분 행렬에 있는 모든 원소를 뒤집는 것이다. (0 -> 1, 1 -> 0) 입력 첫째 줄에 행렬의 크기 N M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 행렬 A가 주어..

[Python][백준] 1931_회의실 배정

https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 더보기 문제 한 개의 회의실이 있는데 이를 사용하고자 하는 N개의 회의에 대하여 회의실 사용표를 만들려고 한다. 각 회의 I에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 찾아보자. 단, 회의는 한번 시작하면 중간에 중단될 수 없으며 한 회의가 끝나는 것과 동시에 다음 회의가 시작될 수 있다. 회의의 시작시간과 끝나는 시간이 같을 수도 있다. 이 경우에는 시작하자마자 끝나는 것으로 생각하면 된다. 입력 첫째 줄에 회의의 수 N(1 ≤ N ..

[Python][백준] 11399_ATM

https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 더보기 문제 인하은행에는 ATM이 1대밖에 없다. 지금 이 ATM앞에 N명의 사람들이 줄을 서있다. 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 Pi분이다. 사람들이 줄을 서는 순서에 따라서, 돈을 인출하는데 필요한 시간의 합이 달라지게 된다. 예를 들어, 총 5명이 있고, P1 = 3, P2 = 1, P3 = 4, P4 = 3, P5 = 2 인 경우를 생각해보자. [1, 2, 3..

[Network] 프록시서버_(2)Proxy Server와 NAT는 어떻게 다를까?

** 이전게시글 참고: 2021.05.16 - [CS/Network] - [Network] 프록시서버_(1)Forward Proxy와 Reverse Proxy의 차이 2021.05.12 - [CS/Network] - [Network] 공인IP와 사설IP 변환 (NAT, NAPT) 지난 게시글에서 프록시 서버와 포워드/리버스 프록시에 대해서 알아보았는데, 내용을 공부하다보니 NAT와 기능이 비슷하여 차이점이 궁금해졌다. [공통점] Proxy와 NAT 모두 IP변환이 이루어져 목적지에서 실제 출발지 IP를 알 수 없다. 보안성 증가 효과 있다. [차이점] (Forward) Proxy Server NAT 애플리케이션 계층에서 동작 (-> HTTP, FTP) 네트워크 계층에서 동작 (-> IP 패킷 수정) 출발..

CS/Network 2021.05.16

[Network] 프록시서버_(1)Forward Proxy와 Reverse Proxy의 차이

프록시서버(Proxy Server) : 웹 클라이언트와 웹 서버 사이에서 접속을 대행하는 서버이다. 프록시 서버의 위치에 따라서 기능과 목적이 약간씩 다르며, 아래와 같이 2가지로 분류된다. (1) 포워드 프록시 (Forward Proxy) [특징] - 프록시 서버가 LAN망 내부에 위치한다. - 클라이언트는 웹 브라우저에서 프록시서버를 사용하도록 설정한다. - 캐시 기능을 사용하여 (목적지 요청 내용을 Proxy에 저장) 성능 향상이 가능하다. - 클라이언트는 프록시서버로 요청을 보내고, 다시 프록시서버가 목적지 서버로 요청하기 때문에 목적지는 실제 출발지 IP를 알 수 없다. (접속우회) - 프록시서버를 통해 클라이언트PC에서 접속 요청하는 웹사이트들을 확인 가능하다. - 접속제한 (URL 필터링, ..

CS/Network 2021.05.16

[Network] 웹브라우저와 웹서버간의 통신 (HTTP)

HTTP 프로토콜 (Hyper Text Transfer Protocol) : 웹브라우저(Client) 웹 애플리케이션 서버(WAS) 간의 요청(Request)/응답(Response) 프로토콜. 주로 HTML 파일 전송을 위해 사용된다. (쿠키 or 이미지, 문서등의 파일도 Request, Response로 전송될 수 있음) 메세지 구조 - HTTP Request Request Line: 요청 *메소드, URI, HTTP 버전 정보 Message Header: 웹브라우저와 데이터 정보 (생략가능) Blank : 공백라인 Entity Body: POST메소드로 전송할 때, 데이터 (생략가능) *주요 메소드: GET, POST, PUT, DELETE, HEAD, CONNECT - HTTP Response St..

CS/Network 2021.05.15

[Network] DNS 서버란.

DNS (Domain Name Server) : IP주소를 사용자가 이해할 수 있는 호스트명(메일주소, URL 등..) 으로 변환하여 저장하는 서버 - 서버 내에 호스트명 | IP주소를 매핑한 정보 (=리소스 레코드) 를 테이블에 저장 - 사용자가 호스트 이름으로 요청할 때, 자동으로 DNS서버로 IP를 질의하는 기능이 OS에 내장되어 있음 (=DNS Resolver) - DNS서버가 가깝지 않을 경우에는 재귀적으로 질의를 수행하게되며 이렇게 얻어진 결과는 캐시에 저장 [출처] https://book.naver.com/bookdb/book_detail.nhn?bid=16261339 그림으로 배우는 네트워크 원리 한눈에 살펴보는 네트워크의 세계인터넷과 스마트폰의 보급으로 네트워크는 우리와 매우 가까워졌습니..

CS/Network 2021.05.15

[Network] TCP와 UDP 알아보기

TCP (Transmission Control Protocol) UDP (User Datagram Protocol) : 전송계층(Transport Layer) 프로토콜로, 호스트에 도착한 데이터를 앱으로 배분하는 역할 - 특징 TCP UDP 연결성 비연결성 속도↓ 속도 ↑ *3-Way Handshake 프로세스를 통해, 전송 데이터의 신뢰성을 보장 각각의 패킷을 독립적으로 전송하여 신뢰성 보장 X 전송결과 확인과정 X 데이터 전송 실패시 재전송 (ACK) 데이터 전송의 연속성↑ 1470byte MSS(Maximum Segment Size) 단위로 데이터 분할 데이터 분할기능이 없어 APP쪽에서 처리 필요 ex) 웹 어플리케이션 요청 ex) IP전화, 스트리밍 * 3-Way Handshake : TCP에서..

CS/Network 2021.05.15

[Python][백준] 2751_수 정렬하기 2

https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 더보기 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. pyt..

[Python][백준] 2839_설탕 배달 (3가지 풀이방법)

https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 더보기 문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로..