본문 바로가기

분류 전체보기67

[DevOps] 3 Tier Architecture이란? 소개3 Tier Architecture는 소프트웨어 시스템의 설계 패턴 중 하나로, 클라이언트-서버 모델을 확장한 형태이다.이 아키텍처는 세 가지 주요 계층으로 구성되어 있으며, 각각의 계층은 서로 독립적으로 운영될 수 있도록 설계되었다.이를 통해 시스템의 유연성과 확장성을 높이고 유지보수를 용이하게 한다. 3 Tier Architecture의 각 계층은 다음과 같다. 프리젠테이션 계층 (Presentation Tier) - Frontend사용자와 직접 상호작용하는 계층이다.주로 웹 브라우저, 데스크탑 애플리케이션, 모바일 애플리케이션과 같은 클라이언트 인터페이스로 구성된다.사용자 인터페이스(UI)와 사용자 경험(UX)을 관리하며, 사용자의 입력을 받아들여 이를 비즈니스 로직 계층으로 전달하고, 결과를 .. 2024. 7. 6.
[백준/C++] #15686 치킨 배달 (Brute Force) 문제https://www.acmicpc.net/problem/15686 구상처음에는 어떤 치킨집을 폐업시켜야 할까? 라는 고민을 통해 아래 처럼 풀이를 구상했었다. 1. bfs로 각각의 집들에서 가장 가까운 치킨집 방문, 치킨거리 갱신 2. 가장 방문이 많은 치킨집 순으로 최대 m개를 고르고 3. 나머지 치킨집이랑 가까웠던 집들은 다시 거리 계산해야 한다. -> 하지만, 방문이 많은 m개 집 고른다 해도 해당 집들이 최소 도시 치킨 거리를 만든다고 장담할 수 없다. 수정 후 풀이는 다음과 같았다. Brute force! 1. 치킨집 조합 만들기 -> next_permutation 이용!! 2. 각각의 치킨집에 대해 집들의 거리 구하기 3. 거리를 다 합친 도시 치킨 거리들 중 최소값 구하고 출력 next.. 2024. 7. 6.
[백준/C++] #9251 LCS (DP/LCS) 문제https://www.acmicpc.net/problem/9251 구상사실.. 문제 이름 자체가 LCS여서... 바로 LCS 대입해서 풀었다.  알고리즘: LCS (Longest Common Subsequence) 두 수열이나 문자열에서 공통되는 가장 긴 부분수열 혹인 부분 문자열 중요한건, 공통되는 문자열이 연속적일 필요는 없다! LCS는 2차원 DP 배열을 통해 구할 수 있다.  풀이 + 코드if (현재 비교하는 문자가 서로 다르다면) 왼쪽, 위쪽 두 개의 값 중 큰 값 저장else 왼쪽 위 대각선의 값 + 1 저장 #include #include using namespace std;string s1, s2;vector> dp;/*9251 LCS*/int main() { cin >> s1 >> .. 2024. 7. 5.
[C++] resize vs assign vs memset vs fill 요약1. resize는 크기 조절에 중점을 두고, 2. assign은 초기화 및 대체, 3. memset은 바이트 단위 초기화, 4. fill은 범위 내 값 설정 구체적 설명resize벡터의 크기를 지정된 크기로 변경한다. 만약 크기를 늘리면 새 요소들은 기본값으로 초기화된다. 크기를 줄이면 초과된 요소들이 제거된다.- 특징: 크기를 변경하면서 새 요소들을 기본값으로 채우거나, 기존 요소를 유지하는 것이다.- 주로 사용되는 상황: 벡터의 크기를 동적으로 조정해야 할 때 사용된다.#includevector vec; vec.resize(10);#includevector> vec; vec.resize(10, vector(10)); assign벡터의 "크기를 지정된 값"으로 설정하고 모든 요소를 지정된 값으로 .. 2024. 7. 3.