일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Spring
- #크랙미4번
- #abex크랙미
- #보안이슈
- #크랙미 9번
- #심플즈 크랙미
- #심플즈
- #리버싱
- #크랙미 5번
- leetcode
- #크랙미2번
- #파밍
- #abex
- java8
- springframework
- #보안뉴스
- #크랙미
- #고클린
- #크랙미 10번
- #abex크랙미4번
- #크랙미3번
- Easy
- 리버싱
- java
- GraphQL
- Today
- Total
목록스터디 (44)
Halo World
https://leetcode.com/problems/merge-two-binary-trees/ class Solution { public TreeNode mergeTrees(TreeNode root1, TreeNode root2) { TreeNode head = root1; if(root1==null && root2==null) return null; if(root1==null && root2!=null) return root2; if(root1!=null && root2==null) return root1; root1.val+=root2.val; root1.left = mergeTrees(root1.left, root2.left); root1.right = mergeTrees(root1.right, ..
https://leetcode.com/problems/count-binary-substrings/ //풀이 봄 class Solution { /*public int countBinarySubstrings(String s) { int[] groups = new int[s.length()]; int idx = 0; groups[0]=1; for(int i=1;i
https://leetcode.com/problems/symmetric-tree/ class Solution { public boolean isSymmetric(TreeNode root) { return isMirror(root.right, root.left); } private boolean isMirror(TreeNode n1, TreeNode n2){ if(n1==null || n2==null) return n1==n2; return (n1.val == n2.val && isMirror(n1.left, n2.right) && isMirror(n1.right, n2.left)); } }
https://leetcode.com/problems/invert-binary-tree/ class Solution { public TreeNode invertTree(TreeNode root) { TreeNode head= root; if(root!=null) invert(root); return head; } private void invert(TreeNode n1) { if(n1==null) return; invert(n1.right); invert(n1.left); TreeNode tmp = n1.right; n1.right = n1.left; n1.left = tmp; } }
https://leetcode.com/problems/diameter-of-binary-tree/ class Solution { int max=0; public int diameterOfBinaryTree(TreeNode root) { int left = findDepth(root.left); int right = findDepth(root.right); return Math.max(left + right, max); } int findDepth(TreeNode node) { if(node==null) return 0; int left = findDepth(node.left); int right = findDepth(node.right); max = Math.max(left + right, max); r..
//import java.io.FileInputStream; import java.util.Scanner; public class Main { static int N,M,x,y,K; static int map[][]; static int dice[]=new int[7]; static int rot[]={0,1,2,3,4,5,6}; static int com[]; static int dx[]={0,0,0,-1,1}; static int dy[]={0,1,-1,0,0}; public static void main(String args[]){ //Scanner sc = new Scanner(new FileInputStream("text.txt")); Scanner sc = new Scanner(System.i..
import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class 반복수열_2331 { public static void main(String args[]){ Scanner sc = new Scanner(System.in); Map map = new HashMap(); int A=sc.nextInt(); int P=sc.nextInt(); map.put(A, 0); int cnt=1; int tmp=A; /*HashMap에 (구한 D값, 몇번 째 들어온 수인지)로 입력 * D를 구하고 만약 기존에 맵에 있던 값이면 그 값의 data를 출력 후 리턴 */ while(true){ int D=0; while(tmp!=0)..
import java.util.*; public class 이분그래프_1707_2 { static ArrayList[] a=(ArrayList[])new ArrayList[20001]; static int color[]=new int[20001]; static void dfs(int x, int c){ color[x] = c; for(int i=0; i0){ int n,m; n=sc.nextInt(); m=sc.nextInt(); for(int i=1;i
//미로탐색 import java.util.*; class Pair2{//큐에 x,y,지난 칸 갯수 짝을 저장하기 위한 class int x,y; int count; Pair2(int x, int y, int count){ this.x=x; this.y=y; this.count = count; } } public class BOJ_2178_미로탐색 { static char[][] maze; static int[][] visit; static int N,M; static int dx[]={0,0,1,-1}; static int dy[]={1,-1,0,0}; public static void main(String args[]){ Scanner sc = new Scanner(System.in); N=sc.ne..
두 번 푸는 문제인데 역시 어렵네용DFS와 BFS를 모두 다 사용해야 쉽게..? 풀 수 있는 문제였습니다. /* 각각의 섬을 dfs를 이용해 다르게 숫자를 붙여주고, * bfs를 통해 섬을 확장하며 bridge 배열에 필요한 다리 길이를 저장한다. * 섬을 모두 확장하면 바다가 없어지므로 섬끼리 인접하게 된다. * 섬끼리 인접한 부분의 bridge 값을 더해서 가장 작은 값이 가장 짧은 다리 길이가 된다. */ import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; class Pair{//큐에 x,y 짝을 저장하기 위한 class int x,y; Pair(int x, int y){ this.x=x; this.y=y; }..