반응형

항해99 35

99클럽 코테 스터디 25일차 TIL, 배열(Find The Original Array of Prefix Xor)

1. 문제 정의2. 문제 접근배열을 이용하면 된다.3. 문제 풀이배열을 정의한다.xor 메서드로 점화식을 세운다.4. 코드class Solution { public int[] findArray(int[] pref) { int[] ans = new int[pref.length]; ans[0] = pref[0]; //초기값 설정 for(int i = 1; i   5. 회고이번 문제는 xor 기능이 java에서 지원하는지를 물어보는 문제인 것 같다. bit연산자의 경우 잘 쓰지 않아서 찾아보긴 했지만, 정말 성능적으로 민감한 경우에는 비트연산자를 써서 메서드를 만든다고 하니 한번씩 살펴보는 것도 좋을 것 같다.

99클럽 코테 스터디 24일차 TIL, 배열(Subrectangle Queries)

1. 문제 정의2. 문제 접근배열을 이용하면 된다.3. 문제 풀이배열을 정의한다.각 요구조건에 맞게 메서드를 정의한다.4. 코드class SubrectangleQueries { int[][] matrix; public SubrectangleQueries(int[][] rectangle) { int r = rectangle.length; int c = rectangle[0].length; matrix = new int[r][c]; for(int i = 0; i   5. 회고이번 문제는 이 난이도가 중간인지 모를 문제이다. 문제는 복잡해보였지만 단순 구현문제였던 것 같다.

99클럽 코테 스터디 23일차 TIL, 그래프(순위)

1. 문제 정의2. 문제 접근플로이드 와샬 알고리즘을 이용하여 노드의 관계를 통해 순위를 구하면 된다.3. 문제 풀이그래프를 만든다.플로이드 와샬 알고리즘을 통해 각 노드의 순위를 구한다.각 노드마다 n-1개의 순위를 알고 있으면 정답을 더해준다.정답을 리턴한다.4. 코드class Solution { public int solution(int n, int[][] results) { int[][] graph = new int[n + 1][n + 1]; int answer = 0; for (int[] e : results) { graph[e[0]][e[1]] = 1; //이겼을 경우 1로 초기화 graph[e[1]][e[..

99클럽 코테 스터디 22일차 TIL, 그래프(가장 먼 노드)

1. 문제 정의2. 문제 접근결국 모든 노드를 그래프 형태로 만들어서 bfs 돌면서 노드들을 탐색하며 노드사이의 길이를 갱신해주면 된다.3. 문제 풀이그래프를 만든다.BFS를 돌면서 모든 노드를 탐색하며 길이를 갱신해준다.최대 깊이의 정답을 리턴한다.4. 코드import java.util.*;class Solution { static boolean[] visit; static List[] list; static int answer; public int solution(int n, int[][] edge) { answer = 0; visit = new boolean[n + 1]; list = new ArrayList[n + 1]; ..

99클럽 코테 스터디 21일차 TIL, 이분법(Capacity To Ship Packages Within D Days)

1. 문제 정의2. 문제 접근정해진 기간 내에 어느 무게로 해야 딱 정해진 기간에 끝낼 수 있는지 찾는 문제다. brute force 를 이용하여 완전탐색을 하면 문제를 풀 수 있지만, 그렇게 하면 시간 복잡도가 n의제곱이 되어 시간초과가 날 것이다. 그래서 nxlogn을 쓰면 정해진 시간 내에 문제를 해결할 수 있을 것 같다.3. 문제 풀이두 포인트를 구한다.두 포인트의 중앙을 구하여 정해진 기간 내에 통과가 되는지 확인한다.계속 범위를 좁혀나간다.답을 리턴한다.4. 코드class Solution { public int shipWithinDays(int[] weights, int days) { int sum = 0; int max = 0; for(int ..

99클럽 코테 스터디 20일차 TIL, 이분법(입국심사)

1. 문제 정의2. 문제 접근처음에는 queue를 사용하여 각각의 심사대를 queue로 정의해서 빼려고 했으나 그럼 공간복잡도가 너무 많이 나올 것 같아서 찾아보니 이분법으로도 해결이 가능해 보였다.3. 문제 풀이두 포인트를 지정한다.두 포인트의 중앙을 구하여 몇명이 통과 가능한지를  정한다.계속 범위를 좁혀나간다.4. 코드import java.util.*;class Solution { public long solution(int n, int[] times) { long answer = 0; Arrays.sort(times); long l = 0; long r = times[times.length-1] * (long) n; // 모든 사람이 ..

99클럽 코테 스터디 19일차 TIL, DP(Count Square Submatrices with All Ones)

1. 문제 정의2. 문제 접근dp 토픽에 속한 것이니 dp로 풀면 될 것 같다.3. 문제 풀이dp 배열을 만든다.점화식을 찾는다.결국 사각형을 만들어야 하는데, 한변의 길이가 1~300 사이의 정사각형이 될 것이고, 사각형을 어떻게 만들것인가를 점화식으로 표현하면 된다.해당 좌표의 값이 0이 아니면서, 사각형을 이루는 dp값의 최솟값에 1을 더해주면 해당 위치의 사각형 갯수가 된다.모든 dp 값을 더해준 것을 리턴한다.4. 코드class Solution { public int countSquares(int[][] matrix) { int ans = 0; int n = matrix.length; int m = matrix[0].length; i..

99클럽 코테 스터디 18일차 TIL, DP(Partition Array for Maximum Sum)

1. 문제 정의2. 문제 접근dp 토픽에 속한 것이니 dp로 풀면 될 것 같다.3. 문제 풀이k길이 만큼의 window가 필요하고, 이 window를 sliding하면서 for-loop의 각 시점마다 최대값을 알아낸다.이전 dp 배열에 내가 알아낸 최댓값을 곱해주고 더해준다.마지막 인덱스의 값을 리턴한다.4. 코드class Solution { public int maxSumAfterPartitioning(int[] arr, int k) { int length = arr.length; int[] dp = new int[length + 1]; for (int i = 1; i = 0; j++) { max = Math.max(max, ..

99클럽 코테 스터디 17일차 TIL, DP(Count Sorted Vowel Strings)

1. 문제 정의2. 문제 접근dp 토픽에 속한 것이니 dp로 풀면 될 것 같다.3. 문제 풀이규칙을 찾는다. 규칙을 통해 점화식을 찾는다. 정답을 도출한다.4. 코드- dp를 통한 풀이class Solution { public int countVowelStrings(int n) { int a, e, i, o, u; a=e=i=o=u=1; for(int k = 1; k  - dfs를 활용한 풀이class Solution { int ans; StringBuilder sb; List result; public int countVowelStrings(int n) { String[] strs = {"a", "e", "i", "o"..

99클럽 코테 스터디 16일차 TIL, DP(All Possible Full Binary Trees)

1. 문제 정의2. 문제 접근완전탐색을 이용해서 풀면 될 것 같다.3. 문제 풀이왼쪽에서부터 노드를 채워준다. 오른쪽에서부터 노드를 채워준다. 모든 노드를 순회하면서 TreeNode를 채워준다.4. 코드/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * t..

반응형