일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Validation
- kubernetes
- aws
- amazonqcli
- SageMaker
- PACELC
- 분산시스템
- terraform
- rds
- 병목
- serverless
- Lamda
- lambda
- fcm
- sns
- cloudwatch
- CAP
- IaC
- CHECK
- Today
- Total
목록분류 전체보기 (252)
잡다한 IT 지식

각 블록에서 가장 가까운 0을 찾는 문제. 자신이 0이면 그 블록에 값은 0이고, 옆에 있으면 1이 됨. 블록은 상하좌우로만 움직임. 처음 문제를 봤을 때 구현 문제가 생각났음. 처음 블록에서 주변 상하좌우를 확인한 후, 없으면 상,하,좌,우 이동한다. 그 다음에 다시 상,하,좌,우에 0이 있나 확인. 접근 방법은 생각났는데 코드 구현을 못해서 계속 헤메다가 BFS가 떠올라서 BFS 검색해서 어설프게 구현했음. 제일 헤멨던 게 x,y좌표 구분에서 엄청 헤멨음. x,y를 명확하게 뭐라고 확실히 정하고 하지 않아서 굉장히 고생함. 다음에 좌표 문제가 나오면 x,y 확실히 정하고 풀어야겠음. 다음엔 밑에 2가지를 신경 써서 풀어야겠음. 1. BFS 제대로 구현 2.x,y 좌표 명확하게 잡기. 푼 거. impo..

처음 생각한 답. import java.util.HashSet; import java.util.Set; class Solution { public int[] minOperations(String boxes) { int[] answer = new int[boxes.length()]; Set set = new HashSet(); int boxLength = boxes.length(); for (int i = 0; i < boxLength; i++) { if (boxes.charAt(i) == '1') { set.add(i); } } for (int i = 0; i < boxLength; i++) { int count = 0; for (int j : set) { count += Math.abs(i-j); } ..

시계 방향으로 원에 n만큼 사람이 있음. 처음 인덱스에서 시작해서 k번째 인덱스를 삭제함. 삭제한 인덱스에서 k번째 사람을 또 삭제함. 1명 남을 때까지 반복. 답지 보기 전에 짠 코드 import java.util.ArrayList; import java.util.List; class Solution { public int findTheWinner(int n, int k) { List list = new ArrayList(); //요소들을 담을 리스트. for (int i = 1; i 1) { //인덱스에 증가값을 더해줌. (자기 자신부터 세므로 -1함) index += cycle-1; //인덱스가 list보다 크면 리스트를 한 바퀴 이상 돈 것임. if (index >= list.size()) { /..

배열에서 숫자를 뽑아서 리스트를 만들었을 때 뽑은 숫자는 배열에서 사라진다. 리스트의 총합이 배열의 총합보다 커지는 경우를 구하시오. 단, 답이 여러개면 최소 값을 구하시오. 답지 보기 전에 푼 거. import java.util.ArrayList; import java.util.Arrays; import java.util.List; class Solution { public List minSubsequence(int[] nums) { //주어진 배열 int[] array = nums; //배열의 원소들을 크기 순서대로 정렬 Arrays.sort(array); //배열의 총합을 arraySum의 대입 int arraySum = Arrays.stream(array).sum(); //숫자를 뽑아서 저장할 리..

문제 링크 주어진 사각형을 자를 수만 있을 때 최대 넓이인 정사각형의 갯수를 구하라. 접근법 : 사각형의 길이를 늘릴 순 없고 자를 수만 있으므로 최소 길이인 변의 길이로 자른 게 해당 사각형의 최대 넓이임. 즉, 사각형이 있으면 최소 변의 길이를 구합니다. 그 변의 길이가 사각형 중에서 제일 큰 사각형이 우리가 구하고자하는 사각형입니다. 해당하는 정사각형과 넓이가 같은 사각형의 갯수를 구합니다. 내가 푼 방법 class Solution { public int countGoodRectangles(int[][] rectangles) { int answer = 0; //최대 넓이를 가진 도형의 갯수. int max = 0; //최대 넓이 도형 길이. for (int i = 0; i < rectangles.l..

문제 링크 리트코드에서 본 모법답안 public int balancedStringSplit(String s) { int res = 0, cnt = 0; //res는 나눠질 수 있는 갯수, cnt는 L이 있으면 ++, R이면 --. for (int i = 0; i < s.length(); ++i) { cnt += s.charAt(i) == 'L' ? 1 : -1; if (cnt == 0) ++res; //cnt가 0인 경우는 R과 L의 갯수가 같은 경우, 즉 나줘질 수 있을 때 밖에 없음. } return res; } 위 코드의 경우, 갯수를 초기화 할 필요도 없고 변수를 두개나 할 필요도 없음. 답지 보기 전에 푼 거. class Solution { public int balancedStringSplit..