일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- RTK Query
- background setInterval
- background setttimeout
- notFound()
- Programmers
- background: url
- react
- React 공식문서
- React18
- Babel
- next13 head
- React 18 Nextjs
- 고급안내서
- React 고급 안내서
- Nextjs
- Render Props
- Javascript
- codingtest
- React 고급안내서
- Next13
- background tab
- getUTCDate
- React 18
- react hook
- context
- Nextjs React 18
- React API 참고서
- CSS
- react-helmet
- hook
- Today
- Total
목록알고리즘 (33)
akjfal
// 1.a,b를 2단어 씩으로 쪼개며 저장 - "[a-z][a-z]"에 일치하지 않는 것을 제외 // 2. union에 b를 통째로 옮김 // 3. b와 a를 비교해 key값이 일치하는 경우 // 3.1 intersection에 작은 값을 저장 // 3.2 union에 큰 값을 저장 // 4. 일치하지 않을 경우 union에만 저장 // 5. iterator를 통해 intersection과 union의 value 합 구하기 import java.util.HashMap; import java.util.Iterator; class Solution { public int solution(String str1, String str2) { int answer = 0; str1 = str1.toLowerCase(..
// num stack is order // 1. num[100,000] // 2. answer.length = substring(2, n-2) and remove },{ // 3. num[charAt(index)]++ // 4. answer = [n, n-1 ...] import java.util.HashMap; import java.util.Iterator; class Solution { public int[] solution(String s) { int[] num = new int[100001]; s = s.substring(2, s.length()-2); String[] ansLength = s.split("\\}"); int[] answer = new int[ansLength.length]; i..
// 1. arraylist[num] // 2. arraylist[cal] // 3. 6번 진행 // 4. cal first -> a[0] = a[0] + a[1] // 4.1 연산한 수에는 none을 넣어 연산이 완료되었음을 입력 // 4.2 num.size는 cal.size+1이고 cal[index] 연산시 num[cal.index+1]은 반드시 숫자임 // 5. num[cal.index+1]과 none이 아닌 수를 앞에서 while을 통해 찾아 연산 import java.util.ArrayList; class Solution { static boolean[] calculate = new boolean[3]; // + - * static ArrayList numList; static ArrayList..
// 1. String을 ArrayList로 전환하기 // 2. Index를 이동하며 Stack에 쌓기 // 3. Stack에 쌓인 데이터를 체크하기 import java.util.Stack; import java.util.ArrayList; import java.util.Arrays; class Solution { public int solution(String s) { int answer = 0; ArrayList list = new ArrayList(Arrays.asList(s.split(""))); for(int i = 0; i < list.size(); i++){ Stack stack = new Stack(); int index = i; for(int j = 0; j < list.size(); ..
// 부전승은 x // A와 B를 포함한 가장 작은 2^n이 무엇인가?를 구해야한다. // 어차피 2^n의 전 아니면 후다(위에서부터 내려왔을때) // 맨 처음으로 달라지는 구간의 n값이다. // n - 1 // 1. 2^n-1 과 A B비교 // 2. 같은 구간에 있다면 n-1 // 2-1. 둘다 2^n보다 크다면 a,b 둘다 -2^n // 3. 다른 구간에 있다면 n+1값은 정답 class Solution { public int solution(int n, int a, int b) { int answer = 1; n -= 1; while(n >= 0){ boolean isA = Math.pow(2, n) < a; boolean isB = Math.pow(2, n) < b; if(isA == isB){..
// 1 = m || map[y][x] == 0){ return false; } return true; } } BFS 기본문제다.
Programmers 코딩테스트 level 2 - 42583번 다리를 지나는 트럭 java로 작성했습니다. 생각한 점 1. 다리에 현재 올라와있는 queue와 트럭이 대기중인 queue사용 2. 틱마다 다리에 트럭이 올라갈수있는지 없는지 체크해 대기중인 queue의 길이만큼 for문을 돌림 static public int solution(int bridge_length, int weight, int[] truck_weights) { int answer = 0; int line_weight = 0; int length = truck_weights.length; Integer[] tmp_bridge = new Integer[bridge_length]; Arrays.fill(tmp_bridge, 0); // ..
Programmers 코딩테스트 level 2 - 68645번 삼각달팽이 java로 작성했습니다. 생각한 점 코드를 작성할때 2차원 배열을 그린다고하면 좌표처럼 생각해 x변수는 넓이, y변수는 높이를 나타냅니다. 피라미드를 한쪽으로 몰았을 때 직각 삼각형과 같은 모양을 지니고 있어 2차원 배열의 절반과 가운데줄을 사용한것과 같은 배열을 보인다 1부터 진행시 n -> n -1 -> ... 1로 진행되어 전체 수를 n * (n - 1) / 2로 계산했다. 코딩 방식 1부터 n번 1자로 내려가면서 채우기 배열의 끝(처음에만 적용)이나 0이 아닌 숫자를 만나면 멈춤 ㅡ자로 n-1번 채우기 배열의 끝(처음에만 적용)이나 0이 아닌 숫자를 만나면 멈춤 대각선 방향으로 n-2번 채우기 0이 아닌 숫자를 만나면 멈춤(..