일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 1차원 DP
- 2차원 dp
- 99클럽
- @BeforeAll
- @BeforeEach
- @Builder
- @Entity
- @GeneratedValue
- @GenericGenerator
- @NoargsConstructor
- @Query
- @Table
- @Transactional
- Actions
- Amazon EFS
- amazon fsx
- Android Studio
- ANSI SQL
- api gateway 설계
- api gateway 필터
- ApplicationEvent
- argocd
- assertThat
- async/await
- AVG
- AWS
- aws autoscaling
- aws eks
- aws iam role
- AWS KMS
- Today
- Total
목록programmers (27)
기록
문제 배경- url : https://school.programmers.co.kr/learn/courses/30/lessons/388353 A 회사의 물류창고에는 알파벳 대문자로 종류가 구분된 컨테이너들이 격자 형태(n행 × m열)로 배치되어 있습니다.출고 요청이 들어올 경우, 다음 두 가지 방식 중 하나를 사용하여 컨테이너를 꺼냅니다:지게차 요청 (알파벳 1글자):외부와 연결된 컨테이너만 꺼냄4면 중 적어도 1면이 창고 외부(접근 가능한 칸)와 연결돼 있어야 꺼낼 수 있음크레인 요청 (알파벳 2글자):해당 종류의 컨테이너를 위치 상관없이 전부 꺼냄문제의 핵심은?접근성 판단:창고 테두리에 위치한 칸은 무조건 접근 가능빈 칸('')을 통해 접근 가능한 칸에 연결돼 있다면 그 칸도 접근 가능이 접근 가능 여..
문제 개요- url : https://school.programmers.co.kr/learn/courses/30/lessons/389479 온라인 게임을 운영하는 상황에서, 시간대별 게임 이용자 수가 주어진다. 한 서버는 최대 m명의 이용자를 처리할 수 있으며, 이용자 수가 m명 이상이면 서버를 증설해야 한다. 증설된 서버는 k시간 동안만 유효하다. 서버를 증설할 때마다 서버가 가동되는 시간대를 관리하고, 모든 이용자가 게임을 이용할 수 있도록 하기 위한 최소 증설 횟수를 구하는 것이 목표다.문제의 조건 정리하루는 총 24시간(0시 ~ 23시)으로 주어진다.players[i]: i시 ~ i+1시 사이의 게임 이용자 수m: 서버 1대가 처리할 수 있는 최대 인원k: 증설된 서버가 유지되는 시간(시간 단위)..
문제 정리- url : https://school.programmers.co.kr/learn/courses/30/lessons/68646 1️⃣ 문제 조건인접한 두 풍선을 고를 때, 더 작은 번호의 풍선을 터뜨리는 것은 최대 한 번만 가능하다.이후에는 항상 번호가 더 큰 풍선을 터뜨려야 한다.풍선을 터뜨릴 때마다 빈 자리는 중앙으로 채워진다.풍선 배열에서 마지막까지 남을 수 있는 풍선의 개수를 찾는 것이 목표이다.2️⃣ 예제예를 들어, 배열이 [9, -1, -5]라면, 각 풍선은 경로를 따라 최후까지 살아남을 수 있다.문제에서 제공된 여러 예시와 함께, 이러한 흐름을 여러 번 반복하며 가능한 풍선을 모두 찾는다.첫 번째 접근: 완전탐색의 한계처음에는 스택/큐를 사용하여 가능한 모든 경로를 탐색하는 완전탐..
문제 정리- url : https://school.programmers.co.kr/learn/courses/30/lessons/388352비밀 코드: 1부터 n까지의 수 중 5개의 서로 다른 정수로 이루어진다.시도 데이터: m개의 시도가 주어지고, 각 시도마다 5개의 정수를 입력하면 시스템은 그 중 몇 개가 비밀 코드에 포함되는지 알려준다.목표: 주어진 시도 데이터와 시스템의 응답을 모두 만족하는 비밀 코드 조합의 개수를 구하는 것이다.예시로 살펴보기예를 들어, n=10일 때의 시도 데이터는 아래와 같다.입력한 정수시스템 응답 (일치 개수)[1, 2, 3, 4, 5]2[6, 7, 8, 9, 10]3[3, 7, 8, 9, 10]4[2, 5, 7, 9, 10]3[3, 4, 5, 6, 7]3이 경우, 문제에서..
문제 설명- url : https://school.programmers.co.kr/learn/courses/30/lessons/42587 운영체제가 프로세스를 다음과 같은 방식으로 관리한다고 가정한다.큐에서 프로세스를 하나 꺼낸다.큐에 대기 중인 프로세스 중 더 높은 우선순위가 있으면 다시 뒤로 넣는다.그렇지 않으면 바로 실행된다.특정 프로세스가 몇 번째로 실행되는지 구하는 것이 문제의 목표이다.예를 들어,priorities = [2, 1, 3, 2], location = 2이면, 3번째 프로세스가 가장 먼저 실행되므로 결과는 1이다. 처음에는 큐에서 매번 꺼낸 프로세스를 남은 프로세스들과 비교하는 방식을 생각할 수 있다.def solution(priorities, location): queue =..
문제 설명- url : https://school.programmers.co.kr/learn/courses/30/lessons/12909 문자열이 주어질 때, 문자열이 올바른 괄호로 이루어져 있는지를 판단하는 문제이다. 주어진 문자열은 오직 '('와 ')'로만 이루어져 있으며, 괄호의 짝이 맞아야 한다.예를 들어,"()()", "(())()"는 올바른 괄호이다.")()(", "(()("는 올바르지 않은 괄호이다.풀이 과정가장 직관적인 방식은 스택 혹은 카운팅 변수를 이용하여 여는 괄호와 닫는 괄호의 짝을 실시간으로 확인하는 것이다.문자열을 왼쪽부터 한 글자씩 순회한다.'('가 나오면 answer를 1 증가시킨다.')'가 나오면 answer를 1 감소시킨다.만약 answer가 음수로 내려간다면, 닫는 괄호..
문제 설명- url : https://school.programmers.co.kr/learn/courses/30/lessons/12906배열 arr에서 연속적으로 같은 숫자가 반복되는 경우, 하나만 남기고 모두 제거해야 한다. 숫자의 등장 순서는 유지해야 하며, 단순한 중복 제거가 아니다.예시arr = [1, 1, 3, 3, 0, 1, 1] # 결과: [1, 3, 0, 1]arr = [4, 4, 4, 3, 3] # 결과: [4, 3]풀이 코드def solution(arr): if not arr: return [] pre = arr[0] answer = [pre] for it in arr[1:]: if it != pre: an..
- url : https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스의 '게임 맵 최단거리' 문제는 전형적인 최단 경로 탐색 문제이다.이 문제는 2차원 격자 맵 위에서 캐릭터가 상대 진영까지 도달할 수 있는 최단 경로의 칸 수를 구하는 것이 목표이다.맵의 상태는 1(길)과 0(벽)로 이루어져 있으며, 캐릭터는 상하좌우 방향으로만 이동할 수 있다.문제 개요맵은 n x m 크기의 2차원 리스트 형태로 주어진다.캐릭터는 (0, 0)에서 시작해 (n-1, m-1)까지 도달해야 한다.벽(0)은 통과할 수 없고, 길(1)만 통과할 수 있다.도달할 수 없다면 -1을 반환해야 한다.예시 설명maps = [ [1, 0, 1, 1, 1], [1, 0..