일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Math
- 자바
- simulation
- database
- two pointers
- Stack
- Binary Search
- bit manipulation
- Binary Tree
- Counting
- 코테
- 파이썬
- string
- Class
- java
- Matrix
- implement
- 코딩테스트
- SQL
- Tree
- array
- Number Theory
- 구현
- Method
- Data Structure
- dynamic programming
- sorting
- geometry
- hash table
- greedy
- Today
- Total
목록java (1063)
코린이의 소소한 공부노트
2*n 크기의 직사각형을 1*2, 2*1, 2*2 타일로 채우려고 한다. 1. 입력 - 첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000) - n이 직사각형의 가로다. 2. 출력 - 첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다. 3. 예제 4. 코드 import java.util.*; class Main{ public static void main(String[] args){ int n = new Scanner(System.in).nextInt(); if(n>2){ int[] d = new int[n]; d[0] = 1; d[1] = 3; for(int i=2 ; i
2*n 크기의 직사각형을 1*2, 2*1 타일로 채우려고 한다. 1. 입력 - 첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000) - n이 직사각형의 가로다. 2. 출력 - 첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다. 3. 예제 4. 코드 import java.util.*; class Main{ public static void main(String[] args){ int n = new Scanner(System.in).nextInt(); if(n>2){ int[] d = new int[n]; d[0] = 1; d[1] = 2; for(int i=2 ; i
1. Input 1) int[][] grid - grid[i][j] == (i,j)에 쌓여있는 1*1*1 큐브의 개수 2. Output 1) grid를 이루고 있는 입체도형의 겉넓이를 반환 - 밑면도 겉넓이에 포함된다. 3. Constraint 1) n == grid.length == grid[i].length 2) 1
1. Input 1) ListNode head 2. Output 1) 연결 리스트의 중간을 찾아 반환 - 중간이 2개라면 2번째 중간을 반환 3. Constraint 1) 리스트의 노드 수의 범위는 [1, 100]이다. 2) 1 Output: [4,5,6] 5. Code 1) 첫 코드(2023/05/31) /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; } * ..
1. Input 1) String s 2. Output 1) 다음 조건을 만족하는 큰 그룹의 시작점과 끝점을 담은 리스트의 리스트를 반환 - 그룹은 같은 문자로 이루어진 s의 부분 문자열이다. - 그룹의 길이가 3 이상일 때 큰 그룹으로 취급한다. - 리스트에 담아 반환할 때는 시작점을 기준으로 오름차순 정렬을 해야 한다. 3. Constraint 1) 1 Output: [] Input: s = "abcdddeeeeaabbbcd" -> Output: [[3,5],[6,9],[12,14]] 설명: - 큰 그룹은 “xxxx"뿐이다. - “a", "b", "c" 모두 큰 그룹이 아니다. - 큰 그룹은 “ddd", "eeee", "bbb"의 3개가 있다. 5. Code 1) 첫 코드(2023/05/31) cla..
1. Input 1) TreeNode root 2. Output 1) root에서 고른 임의의 두 값의 차가 가장 작은 것을 반환 - 차는 0 이상이어야 한다. 3. Constraint 1) 노드 수의 범위는 [2, 100]이다. 2) 0 Output: 1 5. Code 1) 첫 코드(2023/05/31) /** * 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) { * th..
1. Input, Output, Example 3x 마을 사람들은 3을 저주의 숫자라고 생각하기 때문에 3의 배수와 숫자 3을 사용하지 않는다. - n을 3x 마을에서 사용하는 숫자로 바꿔 반환 2. Constraint 1) 1 ≤ n ≤ 100 3. Code 1) 첫 코드(2023/05/30) import java.util.*; class Solution { public int solution(int n) { int i = 1; List list = new ArrayList(); while(list.size()1 && !check){ if(num%10==3) check = true; num /= 10; } if(!check) list.add(i); i++; } return list.get(n-1); }..
1. Input, Output, Example - 학생들의 영어 점수와 수학 점수를 차례대로 담은 배열이 주어졌을 때, 영어 점수와 수학 점수의 평균을 기준으로 매긴 등수를 담은 배열을 반환 2. Constraint 1) 0 ≤ score[0], score[1] ≤ 100 2) 1 ≤ score의 길이 ≤ 10 3) score의 원소 길이는 2이다. 4) score는 중복된 원소를 갖지 않는다. 3. Code 1) 첫 코드(2023/05/30) import java.util.*; class Solution { public int[] solution(int[][] score) { int[] ans = new int[score.length]; float[] avg = new float[score.length..
목표: 해시에 관련된 빌트인 라이브러리를 사용하지 않고 해시맵 구현하기 - 생성자 - put(), get(), remove() 1. Input 1) 생성자: 없음 2) put(): int key, int value 3) get(): int key 4) remove(): int key 2. Output 1) put(): void. 해시맵에 (key, value) 추가. 만약 key가 있다면 값을 value로 변경 2) get(): key에 해당하는 value 반환. 만약 없다면 -1을 반환 3) remove(): void. key가 있다면 (key, value) 삭제 3. Constraint 1) 0