본문 바로가기

분류 전체보기376

[백준 14002] 가장 긴 증가하는 부분 수열 4 (C++) https://www.acmicpc.net/problem/14002 14002번: 가장 긴 증가하는 부분 수열 4 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 문제 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이고, 길이는 4이다. 입력 첫째 줄에 수열 A의 크기 N (1.. 2024. 4. 5.
[백준 9466] 텀 프로젝트 (C++) https://www.acmicpc.net/problem/9466 9466번: 텀 프로젝트 이번 가을학기에 '문제 해결' 강의를 신청한 학생들은 텀 프로젝트를 수행해야 한다. 프로젝트 팀원 수에는 제한이 없다. 심지어 모든 학생들이 동일한 팀의 팀원인 경우와 같이 한 팀만 있을 www.acmicpc.net 문제 이번 가을학기에 '문제 해결' 강의를 신청한 학생들은 텀 프로젝트를 수행해야 한다. 프로젝트 팀원 수에는 제한이 없다. 심지어 모든 학생들이 동일한 팀의 팀원인 경우와 같이 한 팀만 있을 수도 있다. 프로젝트 팀을 구성하기 위해, 모든 학생들은 프로젝트를 함께하고 싶은 학생을 선택해야 한다. (단, 단 한 명만 선택할 수 있다.) 혼자 하고 싶어하는 학생은 자기 자신을 선택하는 것도 가능하다. 학.. 2024. 4. 4.
[백준 2003] 수들의 합 2 (C++) https://www.acmicpc.net/problem/2003 2003번: 수들의 합 2 첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다. www.acmicpc.net 문제 N개의 수로 된 수열 A[1], A[2], …, A[N] 이 있다. 이 수열의 i번째 수부터 j번째 수까지의 합 A[i] + A[i+1] + … + A[j-1] + A[j]가 M이 되는 경우의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)이 주어진다. 다음 줄에는 A[1].. 2024. 4. 3.
[백준 17179] 케이크 자르기 (C++) https://www.acmicpc.net/problem/17179 17179번: 케이크 자르기 첫 번째 줄에 자르는 횟수가 담긴 목록의 길이 N과 자를 수 있는 지점의 개수 M, 그리고 롤 케이크의 길이인 정수 L이 주어진다. (1 ≤ N ≤ M ≤ 1,000, 1 < L ≤ 4,000,000) 다음 M줄에 걸쳐 자를 수 있는 www.acmicpc.net 문제 생일을 맞이한 주성이가 생일 파티를 준비하려고 한다. 주성이는 일반 케이크 대신 평소 좋아하던 롤 케이크를 준비했다. 롤 케이크에는 장식이 존재해서 특정 위치에서만 자를 수 있다. 주성이는 롤 케이크 조각을 파티에 올 친구의 수 만큼 준비하고 싶어서, 가장 작은 조각의 크기를 미리 알아보기로 했다. 하지만 짓궂은 주성이의 친구들은 생일파티에 몇 .. 2024. 4. 2.
(6) DNS 인터넷 호스트의 식별 -호스트 이름(hostname): https://www.google.co.kr/ 등과 같이 사람들에게 사용된다. -IP 주소: 32비트 계층 구조를 가진다. 127.0.0.1과 같이 각 바이트를 0~255의 십진수로 표현하고, 각 바이트를 점으로 구분한다. DNS(Domain Name System) DNS는 호스트 이름을 IP 주소로 변환하거나 그 반대의 역할을 해주는 분산 데이터베이스이다. DNS 서버들의 계층구조로 이루어져 있으며, 호스트가 분산 데이터베이스로 질의가 가능하도록 하는 애플리케이션 계층 프로토콜이다. 호스트 에일리어싱(host aliasing): 호스트는 호스트 별명을 가질 수 있는데, 복잡한 호스트 이름을 기억하기 쉽도록 한다. 원래의 호스트 이름은 정식 호스트 .. 2024. 4. 2.
[백준 2042] 구간 합 구하기 (C++) https://www.acmicpc.net/problem/2042 2042번: 구간 합 구하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)과 M(1 ≤ M ≤ 10,000), K(1 ≤ K ≤ 10,000) 가 주어진다. M은 수의 변경이 일어나는 횟수이고, K는 구간의 합을 구하는 횟수이다. 그리고 둘째 줄부터 N+1번째 줄 www.acmicpc.net 문제 어떤 N개의 수가 주어져 있다. 그런데 중간에 수의 변경이 빈번히 일어나고 그 중간에 어떤 부분의 합을 구하려 한다. 만약에 1,2,3,4,5 라는 수가 있고, 3번째 수를 6으로 바꾸고 2번째부터 5번째까지 합을 구하라고 한다면 17을 출력하면 되는 것이다. 그리고 그 상태에서 다섯 번째 수를 2로 바꾸고 3번째부터 5번째까지 합을.. 2024. 4. 1.
[백준 25194] 결전의 금요일 (C++) https://www.acmicpc.net/problem/25194 25194번: 결전의 금요일 곰곰이는 올해도 운동하기를 신년 목표로 삼았지만, 지금까지 헬스장을 한 번도 가지 않았다. 운동하라고 잔소리하는 당신에게, 곰곰이는 금요일에 정확히 일을 끝마치는 시점이 있다면 헬스 www.acmicpc.net 문제 곰곰이는 올해도 운동하기를 신년 목표로 삼았지만, 지금까지 헬스장을 한 번도 가지 않았다. 운동하라고 잔소리하는 당신에게, 곰곰이는 금요일에 정확히 일을 끝마치는 시점이 있다면 헬스장을 가겠다고 한다! 곰곰이에게는 N개의 일이 주어졌고, i번째 일을 끝마치는데는 Ai일이 걸린다. 월요일인 지금, 당신은 곰곰이에게 주어진 일의 순서를 적절히 바꿔서 곰곰이를 헬스장에 보낼 방법이 있는지 알고 싶다. .. 2024. 3. 31.
(5) E-mail 이메일의 3가지 주요 요소 user agent mail server SMTP: 이메일을 보내는데 필요한 애플리케이션 계층 프로토콜. SMTP 신뢰적인 전송을 위해 TCP를 사용하며, 사용하는 포트 번호는 25이다. 메일을 보내는 서버에서 받는 서버로 직접 연결한다. 이메일의 전송은 다음과 같은 과정을 거친다. 1. 송신자가 user agent를 이용해 수신자에게 보낼 메시지를 입력한다. 2. 송신자의 user agent는 송신자의 메일 서버로 메시지를 보내며, 이 메시지는 메시지 큐에 들어간다. 3. 송신자의 메일 서버의 SMTP 클라이언트가 받는 서버의 25번 포트로 연결을 시도한다. 4. 성공적으로 연결되면 클라이언트와 서버가 애플리케이션 계층 핸드셰이킹을 시도한다. 이 과정에서 클라이언트는 송신자의.. 2024. 3. 31.
[백준 16943] 숫자 재배치(C++) https://www.acmicpc.net/problem/16943 16943번: 숫자 재배치 두 정수 A와 B가 있을 때, A에 포함된 숫자의 순서를 섞어서 새로운 수 C를 만들려고 한다. 즉, C는 A의 순열 중 하나가 되어야 한다. 가능한 C 중에서 B보다 작으면서, 가장 큰 값을 구해보자. C는 0 www.acmicpc.net 문제 두 정수 A와 B가 있을 때, A에 포함된 숫자의 순서를 섞어서 새로운 수 C를 만들려고 한다. 즉, C는 A의 순열 중 하나가 되어야 한다. 가능한 C 중에서 B보다 작으면서, 가장 큰 값을 구해보자. C는 0으로 시작하면 안 된다. 입력 첫째 줄에 두 정수 A와 B가 주어진다. 출력 B보다 작은 C중에서 가장 큰 값을 출력한다. 그러한 C가 없는 경우에는 -1을 출.. 2024. 3. 30.