1\. 코드카타연결되지 않은 Directed Graph에서 가장 긴 경로를 찾는 문제였다. 다만, 문제 조건이 상당히 단순해서(모든 노드가 1개의 inbound 엣지와 outbound 엣지를 가져야 해서, 모든 노드가 루프를 구성한다) O(N)의 간단한 알고리즘으로도
문제 링크제출 코드(통과)카드에 중복이 없기 때문에, 상자 관계를 그래프로 그리면 모든 상자가 루프를 만든다. (연결된 그래프의 일부만 루프에 갇히는 경우가 존재할 수 없음. 그러기 위해선 한 상자를 가리키는 상자가 여러 개여야 하기 때문) 따라서 이미 열려있는 상자가
1\. 코드카타BFS를 활용하는 문제였는데, 어렵게 생각하다가 다소 시간을 많이 잡아먹었다. '최단경로를 찾는다'는 목표에 매몰되어 A\* 알고리즘을 사용해보았는데, 알고리즘을 정확히 구현하지 못해서 처음 제출은 실패했었다. 연결된 노드 간 가중치(거리)가 모두 1이기
문제 링크첫 제출(실패)A\* 알고리즘으로 해결하려고 했는데, 단순히 알고리즘을 잘못 구현해서 실패했다. A\* 알고리즘은 같은 위치를 한 번 방문한다고 끝나면 안되고, 더 짧은 경로가 발견되면 갱신해주어야 한다.사실 이 문제는 굳이 최단 경로 알고리즘을 사용할 필요는
1\. 코드카타최근 며칠 레벨 5 문제가 순조롭게 풀려서, 레벨 6의 첫번째 문제를 풀어봤다. 하노이탑 문제였는데, 난이도를 떠나서 너무 널리 알려진 문제라 그런지 오히려 더 쉽게 풀어낸 것 같다. 굳이 따지자면 신경썼던 부분은 재귀 호출마다 새 배열을 만들지 않고,

지리적 제약 없이 전 세계 사용자에게 웹 콘텐츠를 빠르고 안전하게 전송하기 위해 분산 배치된 서버 네트워크전 세계 분산된 서버에 콘텐츠를 복사해두고, 사용자와 가장 가까운 서버에서 응답정적 파일(이미지 등)은 누가 요청해도 같은 내용미국, 유럽, 아시아 등 곳곳에 미리

AWS 리소스들의 상태를 수집하고 모니터링하는 서비스Metric: 시간에 따라 변하는 숫자(CPU 사용률, 요청 수)Log Group: 로그 저장 단위Dashboard: 지표 시각화 화면특정 지표에 기준을 설정해두고 자동화된 대응 조치를 수행하는 것예시'CPU 사용률이

트래픽을 받아 서버에 분배하는 장치(Target은 EC2 혹은 Fargate 등)EC2 IP를 직접 노출하지 않음 (프록시)HTTPS 처리헬스체크서버 확장 용이AWS의 관리형 로드 밸런서(ELB, Elastic Load Balancer) 중 하나HTTP를 이해하는 어플
개발자가 서버 인프라를 직접 관리하거나 설정할 필요가 없는 클라우드 컴퓨팅 모델개발자는 코드 작성과 비즈니스 로직에만 집중할 수 있음서버가 없다는 뜻이 아니다!AWS의 서버리스 컴퓨팅 서비스EC2처럼 인스턴스를 직접 프로비저닝/관리할 필요 없이 컨테이너를 바로 실행할
Launch Template 기반으로 EC2를 자동 생성/삭제/관리하는 서비스ASG가 EC2를 만들 때 사용하는 설계도어떤 OS를 사용할지(Amazon Linux 2023)어떤 사양인지(t4g.small)어떤 트래픽을 허용할지(보안 그룹)어떤 AWS 권한을 가질지(IA

프라이빗 서브넷 내의 인스턴스가 외부 인터넷과 통신할 수 있도록 네트워크 주소 변환(NAT)을 수행하는 클라우드 네트워킹 서비스아웃바운드 전용: 프라이빗 서브넷 내부에서 외부 인터넷을 호출할 수는 있지만, 외부 이넡넷에서 프라이빗 서브넷 내부 인스턴스에 접속할 수는 없

CI: 개발된 코드를 자동으로 빌드/테스트 (무결성 검증)CD: 완성된 앱을 실제 환경에 자동으로 배포지속적인 통합작업한 코드를 지속적으로 빌드 및 테스트하여 레포지토리에 통합(merge)하는 것지속적인 배포통합된 코드를 지속적으로 릴리스하여 운영 환경에 배포(depl
문제 링크제출 코드(통과)전형적인 재귀 문제 중 하나인 하노이 탑이다. 총 시행 횟수의 점화식이 x(n+1) = 2x(n) + 1이므로 일반항은 x(n) = 2^n - 1이다. 크기부터 계산해 전체 배열을 한 번 할당하고, 내부를 채워나가는 방식으로 작성했다.

1\. 코드카타원형 큐 개념을 이용하는 문제였고, 큰 문제 없이 해결하였다. 최근 며칠간의 문제가 비교적 쉽게 해결되고 있는데, 5레벨 치고 쉬운 문제들이었던 건지 실력이 늘어서인건지 아직 잘 모르겠다. 우선 스택/큐를 메인으로 활용하는 문제는 어느 정도 해결이 가능한

과제로 제출한 버전이 아닌 제공된 버전을 사용한다.기본적으로 로컬의 DB를 사용하도록 Fallback 설정이 되어있다.이전 실습과 달리, 프라이빗 서브넷으로만 서브넷 그룹을 구성한다.외부 액세스를 허용하지 않고, 앞서 생성한 db용 보안그룹을 할당해준다.이렇게 하면 w
문제 링크제출 코드(통과)한 쪽 큐에서 꺼낸 걸 즉시 다른 쪽 큐에 넣어야 하므로, 둘을 하나의 원형 큐로 이은 뒤 인덱스를 옮기는 것으로 작업 하나를 나타낼 수 있다. index1에서 index2-1까지는 첫 번째 큐, 나머지는 두 번째 큐로 간주된다. 완성될 수 없

1\. 코드카타투포인터를 사용한 비교적 간단한 문제였고, 문제 조건(동일한 조건일 경우 가장 먼저 나온 답을 선택)을 놓쳐 한 번 실수한 것을 빼면 큰 시행착오 없이 해결할 수 있었다.2\. 최종 프로젝트내가 맡은 부분은 플레이어 공격 효과(브레이커) 시각화였다. 스프
문제 링크제출 코드(통과)비교적 간단한 투포인터 문제였다. 문제 조건 덕에 예외처리를 고려할 필요가 없어서 더욱 쉬웠다. 비내림차순 배열이므로 뒤에서부터 구간을 탐색하면 첫 번째로 발견한 부분 수열이 곧 최소 길이가 된다. 거기서 구간 길이를 유지하면서 합이 일정하도록
1\. 코드카타특정 알고리즘/자료구조를 이용하기보다는 논리 수학 문제를 풀듯이 해결하는 문제였다. 달팽이 모양으로 나열한 숫자를 다시 일자 배열로 펼쳤을 때의 모습을 계산하는 문제였고, 나는 숫자 순서대로 일자 배열 속에서 들어갈 위치를 찾는 방식으로 문제를 해결했다.

앱을 운영 환경에서 안정적으로 운영하려면 Stateless 패턴이 중요! |패턴|의미|특징| |---|---|---| |Stateless (상태 없음)|앱이 상태를 저장하지 않음|서버 교체/확장 용이| |Stateful (상태 있음)|앱이 상태를 저장함|서버 교체 시