백준 2812 - dfs난이도 - 실버1 더보기단지번호붙이기 문제과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수를 오름차순으로 정렬하여 출력하는 프로그램을 작성하시오. 입력첫 번째 줄에는 지도의 크기 N(정사각형이므로 가로와 세로의 크기는 같으며 5≤N≤25)이 입력되고, 그 다음 N줄에는 각각 N개의 자료(0혹은 1)가 입력된다. ..
백준 1260 - dfs와 bfs난이도 - 실버2 더보기더보기DFS와 BFS 문제그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다. 입력첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사이에 여러 개의 간선이 있을 수 있다. 입력으로 주어지는 간선은 양방향이다. 출력첫째 줄에 DFS를 수행한 결과를, 그 다음 줄에는 BFS..
HTTP란?HTTP는 웹 환경에서 정보를 주고받는 의사소통의 규칙이며 클라이언트와 서버간의 요청-응답 구조로 통신이 이루어진다.데이터 전송에 TCP 프로토콜, 라우팅에 IP프로토콜을 사용하는 구조를 갖추고 있다. HTTP 버전별 특징 HTTP/0.9HTTP/1.0HTTP/1.1메서드GETHEAD, POST 추가PUT, PATCH, DELTE 등 추가헤더미존재http 버전 정보, 상태코드, Content-type 등Connection, Host 등응답HTML 문서만다양한 문서 가능- HTTP 0.9헤더가 존재하지 않고 GET 요청만 존재하며 http메시지가 한줄로 이루어진 원라인 프로토콜이었다. HTTP 1.0상태코드가 추가되어 오류 파악에 용이해지게 됬다. 1.0 이전에는 에러 페이지를 별도로 작성해야..
TCP (Transmission Control Protocol, 전송제어 프로토콜)TCP란 컴퓨터와 다른 컴퓨터가 데이터를 전송하기 위한 전송계층의 규약이다.인터넷 통신에서 가장 많이 사용되는 프로토콜로 TCP/IP가 있다.데이터 전송에는 TCP를 사용하고 목적지까지 도달하는 라우팅 과정은 IP를 사용한 통신 방식을 TCP/IP라 부른다. TCP의 특징신뢰성 있는 데이터 전송 연결형 서비스흐름제어, 혼잡제어ARQTCP는 위와 같은 특징이 있다. 사실 모두 신뢰성을 위한 특징들이다.하나하나 세세하게 알아봐보자. 연결형 서비스TCP는 클라이언트(송신자)와 서버(수신자) 간 데이터 전달을 위해 연결설정과 연결종료를 해야한다.TCP는 신뢰성있는 데이터 전송이 목적이기에 데이터를 전송하기 전 송신지와 수신지가 ..
백준 2821번- 그리디 알고리즘난이도 : 골드 4 더보기더보기크게 만들기 문제N자리 숫자가 주어졌을 때, 여기서 숫자 K개를 지워서 얻을 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오. 입력첫째 줄에 N과 K가 주어진다. (1 ≤ K 둘째 줄에 N자리 숫자가 주어진다. 이 수는 0으로 시작하지 않는다. 출력입력으로 주어진 숫자에서 K개를 지웠을 때 얻을 수 있는 가장 큰 수를 출력한다. 예제 입력 14 21924예제 출력 1 94 예제 입력 27 31231234예제 출력 23234 예제 입력 310 44177252841예제 출력 3775841 직접 만든 테스트 케이스 :입력110 46325712985출력1712985 입력22 134출력24 입력310 93254567891출력39 입력410 998..
백준 1744번 - 그리디 알고리즘난이도 : 골드4더보기더보기수 묶기 문제길이가 N인 수열이 주어졌을 때, 그 수열의 합을 구하려고 한다. 하지만, 그냥 그 수열의 합을 모두 더해서 구하는 것이 아니라, 수열의 두 수를 묶으려고 한다. 어떤 수를 묶으려고 할 때, 위치에 상관없이 묶을 수 있다. 하지만, 같은 위치에 있는 수(자기 자신)를 묶는 것은 불가능하다. 그리고 어떤 수를 묶게 되면, 수열의 합을 구할 때 묶은 수는 서로 곱한 후에 더한다.예를 들면, 어떤 수열이 {0, 1, 2, 4, 3, 5}일 때, 그냥 이 수열의 합을 구하면 0+1+2+4+3+5 = 15이다. 하지만, 2와 3을 묶고, 4와 5를 묶게 되면, 0+1+(2*3)+(4*5) = 27이 되어 최대가 된다.수열의 모든 수는 단 한..
백준 1946번 - 그리디 알고리즘난이도 : 실버1더보기더보기신입 사원 문제언제나 최고만을 지향하는 굴지의 대기업 진영 주식회사가 신규 사원 채용을 실시한다. 인재 선발 시험은 1차 서류심사와 2차 면접시험으로 이루어진다. 최고만을 지향한다는 기업의 이념에 따라 그들은 최고의 인재들만을 사원으로 선발하고 싶어 한다.그래서 진영 주식회사는, 다른 모든 지원자와 비교했을 때 서류심사 성적과 면접시험 성적 중 적어도 하나가 다른 지원자보다 떨어지지 않는 자만 선발한다는 원칙을 세웠다. 즉, 어떤 지원자 A의 성적이 다른 어떤 지원자 B의 성적에 비해 서류 심사 결과와 면접 성적이 모두 떨어진다면 A는 결코 선발되지 않는다.이러한 조건을 만족시키면서, 진영 주식회사가 이번 신규 사원 채용에서 선발할 수 있는 ..
백준 1700번 - 그리디알고리즘난이도 : 골드1더보기더보기멀티탭 스케줄링 문제기숙사에서 살고 있는 준규는 한 개의 멀티탭을 이용하고 있다. 준규는 키보드, 헤어드라이기, 핸드폰 충전기, 디지털 카메라 충전기 등 여러 개의 전기용품을 사용하면서 어쩔 수 없이 각종 전기용품의 플러그를 뺐다 꽂았다 하는 불편함을 겪고 있다. 그래서 준규는 자신의 생활 패턴을 분석하여, 자기가 사용하고 있는 전기용품의 사용순서를 알아내었고, 이를 기반으로 플러그를 빼는 횟수를 최소화하는 방법을 고안하여 보다 쾌적한 생활환경을 만들려고 한다.예를 들어 3 구(구멍이 세 개 달린) 멀티탭을 쓸 때, 전기용품의 사용 순서가 아래와 같이 주어진다면,키보드헤어드라이기핸드폰 충전기디지털 카메라 충전기키보드헤어드라이기키보드, 헤어드라이..
