본문 바로가기

전체보기

(180)
백준 [2225] 합분해(Python3) 문제 링크 : https://www.acmicpc.net/problem/2225 2225번: 합분해 첫째 줄에 답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 완전 탐색 0 ~ N까지 중복 포함 K개를 골라 합이 N인지 확인한다. O(N ^ K) == O(200 ^ 200)이기 때문에 시간 초과다. 완전 탐색 최적화 - 탐색 횟수 줄이기 어떤 수 A가 있다면, 이 수는 아무튼 몇 개의 경우로 만들어진 수일 것이다. 각 수들이 각각 몇 개의 경우로 이루어질 수 있는지만 알 때 이 수들을 더해서 나온 B가 만들어질 수 있는 경우의 수는 B를 만드는데 사용된 수를 만들 수 있는 경우의 수를 더한 것과 같다. 완전 탐색 최적화 - DP 이차원 dp 테이블을 만든다. dp[..
백준 [14671] 영정이의 청소(Python3) 문제 링크 : https://www.acmicpc.net/problem/14671 14671번: 영정이의 청소 프로그램의 입력은 표준 입력으로 받는다. 입력의 첫 줄에는 영정이의 자취방 바닥의 크기 N과 M, 그리고 바닥에 있는 곰팡이의 개수 K가 주어진다. (2 ≤ N, M ≤ 1,000) (1 ≤ K ≤ 100,000) 둘째 줄부터 www.acmicpc.net 완전 탐색 시간이 지날 때마다 곰팡이를 퍼뜨려, 곰팡이가 전부 퍼지는 때가 있는지 확인한다. 하지만, 특정 데이터셋의 경우, 시간이 아무리 지나도 곰팡이가 전부 퍼지지 않는다. 또한, 얼마나 시간을 두고 계산해야 할지에 대해 기준도 난해하다. 완전 탐색 최적화 - 탐색 범위 좁히기 곰팡이가 전부 퍼지게 되는 특정 상황을 찾아본다. 1. 곰팡이가..
백준 [14931] 물수제비(Python3) 문제 링크 : https://www.acmicpc.net/problem/14931 14931번: 물수제비 (SUJEBI) 급격한 기후변화로 최근 대곽나라의 많은 강에서 생태계 교란종이 나타나고 있다. 이에 대곽나라의 이기범 대통령은 국무회의를 주재해 정부 차원의 대책을 논의하게 되었다. 대통령, 국무총리 www.acmicpc.net 완전 탐색 1 ~ 1,000,000 까지 순회하면서 간격을 1, 2, 3, ..., L을 두어 탐색했을 때 탐색한 값의 합이 가장 큰 걸 구한다. 간격별로 탐색 횟수를 나열해보면 아래와 같다. - 간격이 1일 땐, 1,000,000번 탐색. - 간격이 2일 땐, 500,000번 탐색. - 간격이 3일 땐, 333,333번 탐색. - 간격이 4일 떈, 250,000번 탐색. ...
백준 [1748] 수 이어 쓰기 1(Java) 문제 링크 : https://www.acmicpc.net/problem/1748 1748번: 수 이어 쓰기 1 첫째 줄에 N(1 ≤ N ≤ 100,000,000)이 주어진다. www.acmicpc.net 완전 탐색 1부터 N까지의 수를 문자형 형태로 만들어 이어붙인뒤, 그 길이를 구한다. 하지만, 제한 시간이 c++ 기준 0.15초 이내로 풀어야 하고 메모리 제한도 128MB이기 때문에, 시간과 메모리 초과가 발생한다. 완전 탐색 최적화 - N의 탐색 범위 최소화 수를 나열해보면 다음 결과를 도출할 수 있다. - 1부터 N 까지의 수는 모두 일의 자리를 가지고 있다. - 만약, N이 10 이상이면, N - 9 개의 십의 자리를 가지고 있다. (1 ~ 9 총 9개) - 만약, N이 100 이상이면 N - ..
백준 [10986] 참외밭(Python3) 문제 링크 : https://www.acmicpc.net/problem/2477 2477번: 참외밭 첫 번째 줄에 1m2의 넓이에 자라는 참외의 개수를 나타내는 양의 정수 K (1 ≤ K ≤ 20)가 주어진다. 참외밭을 나타내는 육각형의 임의의 한 꼭짓점에서 출발하여 반시계방향으로 둘레를 돌면서 지 www.acmicpc.net 완전 탐색 선에서 해결할 수 있는 문제. 처음엔 ㄱ 형태를 통해 만들어진 온갖 형태를 고려해야 하나 걱정했는데 지문에서 6각형이고, 이동한 순서대로 입력이 들어온다고 써져있어 쉽게 풀 수 있었다. 파이썬이 인덱스 처리에 관대하기 때문에 파이썬을 쓴다면 생각보다 쉽게 풀 수 있다. 먼저 큰 직사각형의 넓이를 구한 뒤, 공백이 생기는 작은 사각형의 넓이를 구해 빼는 식으로 문제를 해결..
백준 [2477] 수열의 합(Python3) 문제 링크 : https://www.acmicpc.net/problem/1024 1024번: 수열의 합 첫째 줄에 N과 L이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이고, L은 2보다 크거나 같고, 100보다 작거나 같은 자연수이다. www.acmicpc.net 수학적 사고가 요구되는 문제. 뭔가 누적합을 사용할 수 있을 거 같아서 여기에 대해 1시간 정도 고민하다 도저히 안 돼서 풀이를 봤다. 완전 탐색 1부터 1,000,000,000까지 돌면서 각 지점에서 2부터 L까지의 합을 구한다. 총 시간 복잡도 O(N * (L - 2))로, N과 L이 최대 값일 때 시간 초과 완전 탐색 최적화 - 누적합 사용. 1부터 1,000,000,000까지의 누적합을 구한 뒤, 한 지점을 정하고 ..
백준 [10986] 나머지 합(Python3) 문제 링크 : https://www.acmicpc.net/problem/10986 10986번: 나머지 합 수 N개 A1, A2, ..., AN이 주어진다. 이때, 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 구하는 프로그램을 작성하시오. 즉, Ai + ... + Aj (i ≤ j) 의 합이 M으로 나누어 떨어지는 (i, j) www.acmicpc.net 지문 해석 연속된 부분 구간의 합을 보고 바로 누적합을 써야 한다는 것을 알았다. 완전 탐색 누적합 배열이 있을 때, 한 누적합을 기준으로, 그 이전 위치의 누적합과 차를 비교해 M의 배수가 되는 쌍을 센다. -> O(N^2)로 시간 초과 완전 탐색 최적화 - 탐색 범위 줄이기 누적합은 계속 커진다는 점을 이용해 두 누적합의 차가 M보..
HTTP/1.1 과 2.0의 차이 들어가기 전에HTTP/2 캡쳐 샘플은 아래 링크에서 받으실 수 있습니다.https://wiki.wireshark.org/HTTP2 HTTP2Hypertext Transfer Protocol version 2 (HTTP2) Protocol dependencies TCP: Typically, HTTP/2 uses TCP as its transport protocol. The well known TCP port for HTTP/2 traffic is 443 (and 80). Wireshark ChangeLog: Wireshark 1.12 - initial support Wireshark 2.0 -wiki.wireshark.org 문제 제기우리가 흔히 사용하는 대부분의 웹 사이트들은 HTTP/2를 사용한다.(구..