전체 글74 [Web] Web Server & WAS 서버는 역할에 따라 Web Server와 WAS로 나눌 수 있다. 간단하게 Web Server는 정적인 컨텐츠, WAS는 동적인 컨텐츠를 처리한다고 생각하면 된다. 왜 이렇게 나뉘며 처리하는 컨텐츠가 다른지 Web Server와 WAS의 개념과 구조에 대해 좀 더 자세히 알아보자. Web Server Web Server는 하드웨어적 개념과 소프트웨어적 개념이 있다. 하드웨어적 개념으론 Web Server가 설치된 컴퓨터를 의미하며, 소프트웨어적 개념으론 클라이언트로부터 HTTP 요청을 받아 정적인 컨텐츠를 제공하는 컴퓨터 프로그램을 의미한다. 정적인 컨텐츠를 제공하는 과정은 다음 그림과 같다. Web Server의 역할이 단순히 정적인 컨텐츠를 반환하는 것은 아니다. 클라이언트가 동적인 컨텐츠를 요청하는.. 2022. 8. 3. [백준] 2294번 동전 2 해당 문제의 원문은 여기서 확인하자. 문제 이해 n가지 종류의 동전을 적당히 사용하여 그 차이의 합이 k원이 되도록할 때, 동전의 개수가 최소인 경우를 구하는 문제이다. 각 동전의 개수는 제한없이 사용 가능하며, 사용한 동전의 구성이 같으면, 사용한 순서에 대한 차이를 구분하지 않는다. 첫째줄에 n, k가 주어지고, 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. (가치가 같은 동전이 여러 번 주어질 수 있다.) 제한 사항은 다음과 같다. 1 ≤ n ≤ 100 1 ≤ k ≤ 10,000 1 ≤ 동전의 가치 ≤ 100,000 k를 만들 수 없는 경우 -1을 출력한다. 접근 방식 DP의 개념을 이용해 문제를 해결하였다. DP 과정에서 저장될 값은 현재 가치를 만들 수 있는 동전의 최소 개수이다. 예제를 .. 2022. 8. 3. [프로그래머스] 더 맵게 해당 문제의 원문은 여기서 확인하자. 문제 이해 주어진 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 스코빌 지수가 가장 낮은 두 개의 음식을 섞어 스코빌 지수를 높이는 과정을 반복하려 한다. 이때 조건을 만족하기까지의 최소 횟수를 구하는 문제이다. 섞는 방식은 다음과 같다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두번째로 맵지 않은 음식의 스코빌 지수 * 2) 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어어진다. 제한 사항은 다음과 같다. 2 ≤ scoville 배열의 길이 ≤ 1,000,000 0 ≤ K ≤ 1,000,000,000 0 ≤ scoville 원소 ≤ 1,000,000 모든 음식의 스코빌 지수를 K 이상으로 만들 수 없.. 2022. 8. 2. [백준] 2573번 빙산 해당 문제의 원문은 여기서 확인하자. 문제 이해 2차원 배열 형태로 빙산의 높이가 주어지며, 높이인 양의 정수와 바다를 의미하는 0으로 초기화되어 있다. 빙산의 높이는 일년마다 그 칸의 4방향(상하좌우)으로 붙어있는 0이 저장된 칸의 개수만큼 줄어든다. (단, 0보다 작아지지 않는다.) 한 덩어리의 빙산이 주어질 때, 이 빙산이 두 덩어리 이상으로 분리되는 최초의 시간(년)을 구하는 문제이다. 첫째 줄에는 행과 열인 N, M이 주어지고, 그 다음 N개의 줄에는 줄 M개씩의 빙산의 높이(or 0)이 주어진다. 모든 입력은 빈칸으로 구분된다. 제한 사항은 다음과 같다. 3 ≤ N, M ≤ 300 0 ≤ 빙산의 높이 ≤ 10 0 ≤ 빙산의 개수 ≤ 10,000 배열의 첫번째 행과 열, 마지막 행과 열은 항상.. 2022. 8. 1. [프로그래머스] 문자열 압축 해당 문제의 원문은 여기서 확인하자. 문제 이해 문자열이 주어질 때 문자열을 규칙에 따라 압축하여 표현한 문자열 중 가장 짧은 문자열의 길이를 구하는 문제이다. 예를 들어, "ababcdcdababcdcd"의 경우 1개 단위로 자르면 전혀 압축되지 않지만, 2개 단위로 잘라서 압축한다면 "2ab2cd2ab2cd"로 표현할 수 있다. 다른 방법으로 8개 단위로 잘라서 압축한다면 "2ababcdcd"로 표현할 수 있으며, 이때가 가장 짧게 압축하여 표현할 수 있는 방법이다. (1은 생략한다.) 제한 사항은 다음과 같다. 1 ≤ 문자열의 길이 ≤ 1,000 문자열은 알파벳 소문자로만 이루어져 있다. 문자열은 제일 앞부터 길이만큼 잘라야 한다. 접근 방식 재귀의 개념을 이용해 문제를 해결하였다. 해결 방식은 크.. 2022. 7. 29. [백준] 9251번 LCS 해당 문제의 원문은 여기서 확인하자. 문제 이해 LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 길이를 구하는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 유효하며 4를 답으로 출력한다. 첫째 줄과 둘째 줄에 두 문자열이 주어진다. 제한 사항은 다음과 같다. 1 ≤ 문자열 길이 ≤ 1000 A ≤ 문자 ≤ Z 접근 방식 DP의 개념을 이용해 문제를 해결하였다. 배열의 행과 열은 각각 입력받은 문자열을 의미하며 배열의 값은 들어온 문자열들로 만들 수 있는 수열 중 최대 길이를 나타낸다. (행과 열의 각 0번째 인덱스는 아무것도 안들어온 경우를 의미한다.) 다음 예제를 보자. .. 2022. 7. 28. 이전 1 ··· 5 6 7 8 9 10 11 ··· 13 다음