[BOJ/DP] 백준 1463 - 1로 만들기 / 12852 - 1로 만들기 2 (Java)
·
✏️/BOJ
1463 - 1로 만들기https://www.acmicpc.net/problem/1463 문제1. 3으로 나누어 떨어짐 -> /32. 2로 나누어 떨어짐 -> /23. -1 => 정수 N이 주어졌을 때, 연산 세 개 적절히 사용해서 1을 만들려고 함-> 연산을 사용하는 횟수의 최솟값입력: $10^6$ >= 자연수 N >= 1출력: 연산을 하는 횟수의 쵯솟값풀이`dp[i]`: 숫자 i -> 1로 만들기 위한 최소 연산 횟수dp[0] = dp[1] = 0=> 항상 가능한 경우: i - 1 -> 1 i - 1까지 최소 연산 횟수 구해져 있음 -> + 해서 i까지 도달하는 데 필요한 연산 수 계산 나눠떨어질 때 더 짧은 경로 O -> 최소 연산 횟수로 덮어씀`dp[i] = dp[i / 2] + 1`, `dp[i..
[NCS] 기업은행 - IT & 디지털 기출 정리 / 2024년 ~ 2021년 하반기, 상반기 / + 2025년
·
🎸
보호되어 있는 글입니다.
[가상 면접 사례로 배우는 대규모 시스템 설계 기초] 1장 ~ 6장
·
📚
1장 사용자 수에 따른 규모 확장성단일 서버 | 데이터베이스 | 수직적 vs 수평적 규모 확장 | 캐시 | CDN | 무상태 웹 계층| 데이터 센터 | 메시지 큐 | 로그, 메트릭, 자동화 | 데이터베이스 규모 확장 1장 사용자 수에 따른 규모 확장성 | Notion단일 서버0123suh.notion.site2장 계략적인 규모 추정2의 제곱수 | 응답지연 값 | 가용성 관계된 수치 | 예제: 트위터 QPS와 저장소 요구량 추정 2장 계략적인 규모 추정 | Notion2의 제곱수0123suh.notion.site3장 시스템 설계 면접 공략법효과적 면접을 위한 4단계 접근법 3장 시스템 설계 면접 공략법 | Notion효과적인 면접을 위한 4단계 접근법0123suh.notion.site4장 처리율 제한..
Redis - 동시성 / 아키텍처
·
📓/데이터베이스
Redis 동시성 처리동시성 이슈데이터 불일치여러 스레드가 동시에 동일한 데이터를 수정데드락 (Deadlock)두 개 이상의 스레드가 서로의 자원을 기다리다가 멈추는 상태라이브락 (Livelock)스레드가 락을 반복적으로 획득하려다 아무런 진전이 없는 상태경쟁 조건동시에 자원에 접근하여 예상하지 못한 결과가 발생하는 상태=> 동시성 제어(: 멀티스레드 환경에서 일관된 데이터 처리를 보장하는 방법) 필요동시성 제어 기법락(Lock)한 스레드가 자원을 사용하는 동안 다른 스레드가 해당 자원에 접근하지 못하도록 막는 기법Mutex (Mutual Exclusion): 가장 기본적인 락/ 하나의 스레드만 자원에 접근할 수 있도록 보장Reentrant Lock: 동일한 스레드가 여러 번 락을 획득할 수 있는 락세마..
Memcached(멤캐시드) vs. Redis(레디스)
·
📓/데이터베이스
Memcached(멤캐시드)사용이 간편한 고성능 인 메모리 데이터 스토어 장점1밀리 초 미만의 응답 시간서버의 주 메모리에 모든 데이터를 유지PostgreSQL, Cassandra 및 MongoDB와 같은 데이터베이스: 데이터 대부분 디스크/SSD 저장인 메모리 데이터 스토어: 반복해서 디스크 왕복할 필요 X → 더 ↑ 작업 처리 + 더 빠른 응답 지원 단순성 및 사용 편의성간단하고 일반적이 되도록 설계 -> 애플리케이션 개발에 사용하기에 쉬우면서 강력다수의 오픈 소스 클라이언트 사용지원되는 언어: Java, Python, PHP, C, C++, C#, JavaScript, Node.js, Ruby, Go 등 확장성분산 및 다중 스레드 아키텍처를 사용하면 손쉽게 확장여러 노드 간에 데이터를 나눌 수 있음..
Kubernetes/ Helm
·
☁️
Kubernetes(쿠버네티스)구글이 컨테이너 운영을 위해 출시한 오픈소스 라이브러리컨테이너 오케스트레이션 플랫폼 여러 IT 자동화 태스크 또는 프로세스를 조정하여 실행하는 것다수의 Docker 컨테이너 관리, 자동으로 배포 및 스케일링, 장애 복구 기능 제공여러 대의 서버(노드)에서 컨테이너 → 클러스터로 묶어 애플리케이션 분산, 필요할 때마다 리소스 할당 → 자동으로 확장 or 축소⇒ Docker: 컨테이너 하나하나 관리/ Kubernetes: 그 컨테이너들 효율적으로 배치하고 관리순서코드 푸시 → CI/CD 파이프라인 트리거(Github Actions)Docker 이미지 빌드 → 이미지 레지스트리에 업로드(Docekr Hub, ECR 등)Kubernetes 클러스터에 배포(kubectl, Helm ..
aeongg
빙글빙글 돌아가는 Debug 하루