일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- array
- string
- Stack
- geometry
- two pointers
- Class
- Counting
- greedy
- 구현
- 파이썬
- Data Structure
- Number Theory
- simulation
- bit manipulation
- hash table
- Tree
- Math
- SQL
- implement
- Binary Tree
- 자바
- 코테
- 코딩테스트
- Binary Search
- database
- dynamic programming
- sorting
- Method
- Matrix
- java
- Today
- Total
목록코딩테스트 풀이/JAVA (963)
코린이의 소소한 공부노트
1. Input 1) int[] nums - nums의 요소 중 1개를 제외한 모든 요소들은 3번씩 등장한다. 2. Output 1) nums에 딱 1번 등장하는 요소를 찾아 반환 3. Constraint 1) 1
1. Input 1) String skill - 선행 스킬 순서를 나타낸다. 2) String[] skill_trees - 유저들이 만든 스킬트리를 담은 배열이다. 2. Output 1) 가능한 스킬트리 개수를 반환 3. Constraint 1) 스킬은 알파벳 대문자로 표기하며, 모든 문자열은 알파벳 대문자로만 이루어져 있다. 2) 스킬 순서와 스킬트리는 문자열로 표기한다. 3) 선행 스킬 순서 skill의 길이는 1 이상 26 이하이며, 스킬은 중복해 주어지지 않는다. 4) skill_trees는 길이 1 이상 20 이하인 배열 5) skill_trees의 원소는 길이가 2 이상 26 이하인 문자열이며, 스킬이 중복해 주어지지 않는다. 4. Example Input: skill="CBD", skill_..
1. Input 1) TreeNode root 2. Output 1) 이진 트리의 최대 깊이를 반환 3. Constraint 1) 트리의 노드 수의 범위는 [0, 104] 2) -100
1. Input 1) String s 2. Output 1) s에서 처음으로 2번 나오는 문자를 반환 3. Constraint 1) 2 Output: "d" 5. Code 1) 첫 코드(2022/08/04) import java.util.*; List list = new ArrayList(); char c = ' '; for(int i=0 ; i
1. Input 1) int[] ranks - ranks[i]는 i번째 카드의 숫자를 뜻한다. 2) char[] suits - suits[i]는 i번째 카드의 무늬를 뜻한다. 2. Output 1) 갖고 있는 카드를 이용해서 아래 타입들을 만들어볼 때, 가장 높은 타입을 문자열로 반환 // 타입 - "Flush": 5장 모두 같은 무늬 - "Three of a Kind": 3장이 같은 숫자 - "Pair": 2장이 같은 무늬 - "High Card": 아무 카드 1장 3. Constraint 1) ranks.length == suits.length == 5 2) 1
1. Input 1) int[] nums 2. Output 1) nums에 아래 연산을 최대한 많이 수행한 후, 없앤 쌍의 개수와 nums에 남은 숫자의 개수를 차례대로 담은 배열 answer를 반환 // 연산 방법 - nums에서 같은 숫자 2개를 고른다. - 두 숫자 모두 num에서 없애고, 없앤 숫자는 쌍을 이룬다. 3. Constraint 1) 1
1. Input 1) int[][] grid 2. Output 1) grid가 x-matrix라면 true, 아니면 false를 반환 - x-matrix는 대각선 요소는 0이 아니고 나머지는 0인 행렬을 말한다. 3. Constraint 1) grid는 n*n 행렬이다. 2) 3
1. Input 1) String s - s에는 |이 있는데, 2개씩 짝지어 존재한다. 2. Output 1) s에서 | | 사이에 있는 것을 제외한 나머지 *의 개수를 반환 3. Constraint 1) 1
1. Input 1) String password 2. Output 1) password가 아래 조건을 만족한 강력한 비밀번호라면 true, 아니면 false 반환 // 비밀번호가 강력하기 위한 조건 - 길이는 최소 8이어야 한다. - 영어 대문자는 최소 1개 있어야 한다. - 영어 소문자는 최소 1개 있어야 한다. - 숫자는 최소 1개 있어야 한다. - 특수 문자는 최소 1개 있어야 한다. 사용할 수 있는 특수 문자는 !@#$%^&*()-+ 뿐이다. - 같은 문자가 2개 붙어 있으면 안 된다. 3. Constraint 1) 1 Output: false 설명: - 모든 조건을 만족하기 때문에 true - 숫자가 없고, 같은 문자가 2개 붙어있기 때문에(--) false 5. Code 1) 첫 코드(202..
1. Input 1) String num 2. Output 1) [0, num.length)에 있는 모든 i에 대해서 i가 num[i]번 나타나면 true, 아니면 false를 반환 3. Constraint 1) 1 0이 1번 나타났나? -> O - 1번째 숫자: 2 -> 1이 2번 나타났나? -> O - 2번째 숫자: 1 -> 2가 1번 나타났나? -> O - 3번째 숫자: 0 -> 3이 0번 나타났나? -> O - 모든 경우가 맞으므로 true를 반환한다. 5. Code 1) 첫 코드(2022/08/04) int[] d = new int[num.length()]; for(int i=0 ; i=num.length()) return false; d[c]++; } for(int i=0 ; i