본문 바로가기

전체 글160

[HTTP] 인터넷 통신에 대해 알아보자 출처 모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의 실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., - 강의 소개 | 인프런 인터넷에서 컴퓨터 둘은 어떻게 통신할까? 클라이언트와 서버가 가까워서 하나의 케이블로 연결되어있다면? 간단! 둘 사이를 케이블로 연결해서 메시지를 주고 받으면 된다. 하지만 중간에 인터넷 이 껴있다. 복잡한 인터넷 망 중간에 해저 광케이블이 있을 수도 있고 메시지가 인공위성을 통해서 보내질 수도 있다. 수많은 중간 노드라는 서버들을 거쳐서 원하는 목적지에 도착해야 한다. ❔어떤 규칙을 통해 넘어갈까? 어떻게 수많은 복잡한 상황을 거쳐서 목적지까지 안전하게 도착할까? : IP (인터넷 프로토콜), TCP/UDP 프토토콜 2023. 4. 5.
[HTTP] URI에 대해 알아보자 출처 모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의 실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., - 강의 소개 | 인프런 www.inflearn.com URI(Uniform Resource Identifier) URI는 로케이터(Locator), 이름(Name)으로 분류된다. 즉 URI는 URL과 URN을 통칭하는 말이다. URL : 자원을 위치로 구분 URN : 자원을 이름으로 구분 URI 단어 뜻 Uniform : 리소스를 식별하는 통일된 방식 Resource : 자원. 즉, URI로 식별할 수 있는 모든 것 (제한 없음) (ex) html 파일, 실시간 교통 정보 등) Identifier : 다른 항목과 구분하는데 필요한 정보 URL, U.. 2023. 4. 3.
[BOJ] 11660. 구간 합 구하기 5 - JAVA 🔗 문제 https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net 💻 풀이 및 코드 문제 유형 : 다이나믹 프로그래밍, 누적 합 2차원 배열에서 시작 지점과 끝 지점 사이의 값들의 합을 구하는 문제 풀이 총 2가지 방법으로 풀었다. 처음에 푼 방법으로 1412ms 가 나왔는데 채점 현황을 보니 900ms 로 푼 사람이 있어서 다른 풀이 방식을 찾아봐서 다시 풀었다. 첫 번째 풀이 방법이 두 번째보다 더 쉽지만 .. 2023. 3. 16.
[BOJ] 10986. 나머지 합 - JAVA 🔗 문제 10986번: 나머지 합 수 N개 A1, A2, ..., AN이 주어진다. 이때, 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 구하는 프로그램을 작성하시오. 즉, Ai + ... + Aj (i ≤ j) 의 합이 M으로 나누어 떨어지는 (i, j) www.acmicpc.net 💻 풀이 및 코드 문제 유형 : 수학, 누적합 주어진 배열 중 구간(i, j) 합 이 M 으로 나누어 떨어져는 구간의 갯수를 구하는 문제 풀이 시간 복잡도 : O (N) 문제를 풀기 앞서, 아래의 모듈러 연산의 분배 법칙을 알고 있어야 한다. 문제에 나와있는 '연속된 부분 구간의 합이 M 으로 나누어 떨어지는' 이라는 의미를 생각해보자. 어떠한 구간 [a, b] 에 대해 '[a, b] 구간합 == [1, b.. 2023. 3. 15.
[BOJ] 1912. 연속합 - JAVA 🔗 문제 https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 💻 풀이 및 코드 문제 유형 : 다이나믹 프로그래밍 요약 : 연속된 구간의 합의 최댓값 풀이 DP 를 풀 때 나는 N 개의 숫자가 주어졌을 때 N 번째의 해당하는 답을 구하기 위해서 첫번째만 숫자가 주어졌을 때, 다음 두 번째 숫자가 주어졌을 때, 세번째 숫자가 주어졌을 때의 답을 차례대로 유추한다. 예제를 보면 [10, -4, 3, 1, 5, 6, -35, 12, 21, -1] 가 주어졌다. 10.. 2023. 3. 13.
[BOJ] 6549. 히스토그램에서 가장 큰 사각형 (세그먼트 트리) 🔗 문제 https://www.acmicpc.net/problem/6549 6549번: 히스토그램에서 가장 큰 직사각형 입력은 테스트 케이스 여러 개로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, 직사각형의 수 n이 가장 처음으로 주어진다. (1 ≤ n ≤ 100,000) 그 다음 n개의 정수 h1, ..., hn (0 ≤ hi ≤ www.acmicpc.net 💻 풀이 및 코드 문제 유형 : 분할정복, 세그먼트 트리 히스토그램에서 가장 큰 사각형의 넓이를 찾아 출력하는 문제 (히스토그램: 직사각형 여러 개가 아래쪽에 정렬되어 있는 도형) 풀이 이 문제는 풀 수 있는 방법이 여러 가지가 있다. 1. 분할 정복 2. 분할 정복 + 세그먼트 트리 3. 스택 나는 1번으로 풀다가 시간 초과가 나.. 2023. 3. 6.