일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Stack
- two pointers
- Tree
- Counting
- array
- string
- Binary Search
- 구현
- Matrix
- simulation
- 코테
- Math
- Number Theory
- Data Structure
- 자바
- Method
- database
- greedy
- Class
- hash table
- SQL
- Binary Tree
- java
- 파이썬
- bit manipulation
- sorting
- dynamic programming
- geometry
- implement
- 코딩테스트
- Today
- Total
목록java (1063)
코린이의 소소한 공부노트
1. Input 1) String s 2. Output 1) s에서 가장 바깥 소괄호를 없앤 나머지를 반환 - s는 유효한 괄호들로 이루어져 있다. 3. Constraint 1) 1 Output: "()()()()(())" Input: s = "()()" -> Output: "" 설명: - “(()())”와 “(())”로 이루어져 있다. -> 가장 바깥 소괄호를 없애면 “()()”와 “()”이 된다. - “(()())”와 “(())”와 “(()(()))”로 이루어져 있다. -> 가장 바깥 소괄호를 없애면 “()()”와 “()”와 “()(())”이 된다. - “()”와 “()”로 이루어져 있다. -> 가장 바깥 소괄호를 없애면 둘다 “”이 된다. 5. Code 1) 첫 코드(2023/06/07) class..
1. Input 1) int[] nums 2. Output 1) 다음과 같은 방법으로 만든 논리형 리스트를 반환 - nums의 앞에서부터 i번째까지 숫자를 1개씩 이어붙여서 만든 2진수 n을 10진수로 바꾼다. - 그 숫자가 5의 배수이면 리스트의 i번째에 true를, 아니면 false를 담는다. 3. Constraint 1) 1 10진수=0 -> 5의 배수이므로 true - i=1: n=01 -> 10진수=1 -> 5의 배수가 아니므로 false - i=2 : n=011 -> 10진수=3 -> 5의 배수가 아니므로 false 5. Code 1) 첫 코드(2023/06/07) class Solution { public List prefixesDivBy5(int[] nums) { List ans = new..

2*n 크기의 직사각형을 1*2, 2*1, 1*1 타일로 채우려고 한다. 1. 입력 - 첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000,000) - n이 직사각형의 가로다. 2. 출력 - 첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 1,000,000,007로 나눈 나머지를 출력한다. 3. 예제 4. 코드 1) 잘 안풀려서 제시된 c++ 코드를 java로 바꿔서 돌려본 코드 import java.util.*; class Main{ public static void main(String[] args){ int n = new Scanner(System.in).nextInt(); long[] d = new long[n+1]; System.out.print(dp(n, d)); } static lo..

3*n 크기의 직사각형을 1*2, 2*1 타일로 채우려고 한다. 1. 입력 - 첫째 줄에 n이 주어진다. (1 ≤ n ≤ 30) - n이 직사각형의 가로다. 2. 출력 - 첫째 줄에 경우의 수를 출력한다. 3. 예제 4. 코드 1) 잘 안풀려서 제시된 c++ 코드를 java로 바꿔서 돌려본 코드 import java.util.*; class Main{ public static void main(String[] args){ int n = new Scanner(System.in).nextInt(); int[] d = new int[n+1]; System.out.print(dp(n, d)); } static int dp(int x, int[] d){ if(x%2==1) return 0; if(x==0) ret..
1. Input 1) String[] words 2. Output 1) 각 단어들에 공통으로 나타나는 알파벳을 하나씩 담은 리스트를 반환 - 모든 단어에 a가 2개씩 있다면 반환하는 리스트에도 a가 2개 있어야 한다. - 정렬 순서는 상관 없다. 3. Constraint 1) 1

1. Input 1) char[][] board - board는 8*8 체스보드를 나타낸다. - ‘R': 룩. board에 딱 1개뿐이다. 상하좌우 중 한 방향을 선택해 가고싶은 만큼 이동할 수 있다. - 'B': 비숍. 비숍에 막히면 룩은 이동할 수 없다. - ‘p: 폰. 룩이 잡을 수 있는 말이다. - ‘.': 보드의 빈 공간을 뜻한다. 2. Output 1) 룩(R)이 잡을 수 있는 폰의 개수를 반환 3. Constraint 1) board.length == 8 2) board[i].length == 8 3) board에는 'R', '.', 'B', 'p' 이외의 문자는 없다. 4. Example Input: board = [[".",".",".",".",".",".",".","."], -> Out..
1. Input 1) TreeNode root 2. Output 1) root의 모든 노드의 값이 같으면 true, 다르면 false를 반환 3. Constraint 1) 노드 수의 범위는 [1, 100]이다. 2) 0 Output: true Input: root = [2,2,2,5,2] -> Output: false 5. Code 1) 첫 코드(2023/06/06) /** * 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, Tr..
1. Input 1) TreeNode root 2) int low 3) int high 2. Output 1) root에 있는 노드 값 중에서 [low, high] 범위 내의 값만 더한 결과를 반환 3. Constraint 1) 노드 수의 범위는 [1, 2*10^4]이다. 2) 1
1. Input 1) int[] deck 2. Output 1) deck에 있는 카드를 1개 이상의 그룹으로 나눌 때, 다음 조건을 만족하게 나눌 수 있다면 true를, 아니면 false를 반환 - 각 그룹에는 정확이 x장의 카드가 있어야 한다.(x>1) - 한 그룹에 있는 모든 카드에는 같은 숫자가 적혀 있어야 한다. 3. Constraint 1) 1