99클럽
-
- 오늘의 학습 키워드 : DP[문제 이름 : 정수 삼각형 (LeetCode - DP, Lv 3) ]문제 url : https://leetcode.com/problems/maximal-rectangle/ 내가 작성한 코드는 아래와 같다.class Solution { public int maximalRectangle(char[][] matrix) { if(matrix == null || matrix.length == 0 || matrix[0].length == 0) return 0; int rows = matrix.length; int cols = matrix[0].length; int maxRectangle = 0; for(in..
99클럽 코테 스터디 22일차 TIL [DP]- 오늘의 학습 키워드 : DP[문제 이름 : 정수 삼각형 (LeetCode - DP, Lv 3) ]문제 url : https://leetcode.com/problems/maximal-rectangle/ 내가 작성한 코드는 아래와 같다.class Solution { public int maximalRectangle(char[][] matrix) { if(matrix == null || matrix.length == 0 || matrix[0].length == 0) return 0; int rows = matrix.length; int cols = matrix[0].length; int maxRectangle = 0; for(in..
2024.08.13 -
- 오늘의 학습 키워드 : DP[문제 이름 : 정수 삼각형 (프로그래머스 DP, Lv 3) ]문제 url : https://school.programmers.co.kr/learn/courses/30/lessons/43105 내가 작성한 코드는 아래와 같다.재귀와 메모리제이션을 이용하여 문제를 풀었다.DP 관련 문제는 항상 위->아래, 아래->위로 갈 수 있는지 확인하고, 이에 대한 점화식을 세우는 게 중요한 것 같다.public int solution(int[][] triangle) { int[][] memo = new int[triangle.length][triangle.length]; return memorization(triangle, memo, 0, 0); }..
99클럽 코테 스터디 21일차 TIL [DP]- 오늘의 학습 키워드 : DP[문제 이름 : 정수 삼각형 (프로그래머스 DP, Lv 3) ]문제 url : https://school.programmers.co.kr/learn/courses/30/lessons/43105 내가 작성한 코드는 아래와 같다.재귀와 메모리제이션을 이용하여 문제를 풀었다.DP 관련 문제는 항상 위->아래, 아래->위로 갈 수 있는지 확인하고, 이에 대한 점화식을 세우는 게 중요한 것 같다.public int solution(int[][] triangle) { int[][] memo = new int[triangle.length][triangle.length]; return memorization(triangle, memo, 0, 0); }..
2024.08.12 -
- 오늘의 학습 키워드 : 크루스칼, 프림[문제 이름 : 섬 연결하기 (프로그래머스 Greedy, Lv 3) ]문제 url : https://school.programmers.co.kr/learn/courses/30/lessons/42861 내가 작성한 코드는 아래와 같다.import java.util.*;class Solution { public int solution(int n, int[][] costs) { int answer = 0; boolean[] visited = new boolean[n]; ArrayList[] graph = new ArrayList[n]; for(int i=0; i(); } ..
99클럽 코테 스터디 20일차 TIL [크루스칼, 프림]- 오늘의 학습 키워드 : 크루스칼, 프림[문제 이름 : 섬 연결하기 (프로그래머스 Greedy, Lv 3) ]문제 url : https://school.programmers.co.kr/learn/courses/30/lessons/42861 내가 작성한 코드는 아래와 같다.import java.util.*;class Solution { public int solution(int n, int[][] costs) { int answer = 0; boolean[] visited = new boolean[n]; ArrayList[] graph = new ArrayList[n]; for(int i=0; i(); } ..
2024.08.10 -
- 오늘의 학습 키워드 : bfs[문제 이름 : 일루미네이션 (백준 5547번, G4) ]문제 url : https://www.acmicpc.net/problem/5547문제를 풀면서, 세 가지 핵심만 깨달으면 bfs로 문제를 풀 수 있다. (이 세 개를 생각하는데 두 시간이 걸렸다...)1. 정육각형의 좌표가 (행,열)이 아닌 (열, 행)으로 되어있기 때문에, 실제 계산할 때는 반대로 값을 계산해야 하는 것 (이는 시뮬레이션 문제를 많이 풀어본 사람이라면 쉽게 생각할 수 있다.)2. 홀수 행, 짝수 행(y)별로 정육각형의 6곳이 이동하는 경우가 다르다. 이 규칙을 먼저 찾고, 건물이 없는 곳을 Queue에 넣으며 Queue에서 뺐을 때 (=poll()) 다음 위치에 건물이 있다면, 이는 외부 선(..
99클럽 코테 스터디 18일차 TIL [bfs]- 오늘의 학습 키워드 : bfs[문제 이름 : 일루미네이션 (백준 5547번, G4) ]문제 url : https://www.acmicpc.net/problem/5547문제를 풀면서, 세 가지 핵심만 깨달으면 bfs로 문제를 풀 수 있다. (이 세 개를 생각하는데 두 시간이 걸렸다...)1. 정육각형의 좌표가 (행,열)이 아닌 (열, 행)으로 되어있기 때문에, 실제 계산할 때는 반대로 값을 계산해야 하는 것 (이는 시뮬레이션 문제를 많이 풀어본 사람이라면 쉽게 생각할 수 있다.)2. 홀수 행, 짝수 행(y)별로 정육각형의 6곳이 이동하는 경우가 다르다. 이 규칙을 먼저 찾고, 건물이 없는 곳을 Queue에 넣으며 Queue에서 뺐을 때 (=poll()) 다음 위치에 건물이 있다면, 이는 외부 선(..
2024.08.08 -
- 오늘의 학습 키워드 : 이분그래프, dfs[문제 이름 : 사자와 토끼(백준, G1) ]문제 url : https://www.acmicpc.net/problem/17834내가 작성한 코드는 아래와 같다.import java.util.*;import java.io.*;public class Main { static ArrayList[] graph; static int[] visited; static long count1, count2, totalPairs; static boolean isGraph; // 이분 그래프 여부 public static void main(String[] args) throws IOException { BufferedReader br ..
99클럽 코테 스터디 17일차 TIL [이분그래프, dfs]- 오늘의 학습 키워드 : 이분그래프, dfs[문제 이름 : 사자와 토끼(백준, G1) ]문제 url : https://www.acmicpc.net/problem/17834내가 작성한 코드는 아래와 같다.import java.util.*;import java.io.*;public class Main { static ArrayList[] graph; static int[] visited; static long count1, count2, totalPairs; static boolean isGraph; // 이분 그래프 여부 public static void main(String[] args) throws IOException { BufferedReader br ..
2024.08.08 -
- 오늘의 학습 키워드 : 완전탐색 - dfs[문제 이름 : (소수 찾기, Lv2) ]문제 url : https://school.programmers.co.kr/learn/courses/30/lessons/12952내가 작성한 코드는 아래와 같다.class Solution { static int answer = 0; public int solution(int n) { boolean[][] board = new boolean[n][n]; dfs(board, 0, n); return answer; } static void dfs(boolean[][] board, int row, int n) { // 모든 퀸이 자리를 잡은 경..
99클럽 코테 스터디 16일차 TIL [완전탐색 - dfs]- 오늘의 학습 키워드 : 완전탐색 - dfs[문제 이름 : (소수 찾기, Lv2) ]문제 url : https://school.programmers.co.kr/learn/courses/30/lessons/12952내가 작성한 코드는 아래와 같다.class Solution { static int answer = 0; public int solution(int n) { boolean[][] board = new boolean[n][n]; dfs(board, 0, n); return answer; } static void dfs(boolean[][] board, int row, int n) { // 모든 퀸이 자리를 잡은 경..
2024.08.06