일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Binary Tree
- 파이썬
- two pointers
- Tree
- Data Structure
- Class
- Number Theory
- array
- java
- string
- Binary Search
- 코테
- SQL
- Math
- simulation
- Matrix
- Method
- dynamic programming
- Counting
- greedy
- Stack
- 구현
- geometry
- hash table
- implement
- bit manipulation
- database
- sorting
- 자바
- 코딩테스트
- Today
- Total
목록코딩테스트 풀이/JAVA (963)
코린이의 소소한 공부노트
1. Input 1) String s 2. Output 1) s의 문자들로 만들 수 있는 palindrome 중 가장 긴 것의 길이를 반환 // palindrome은 앞에서 부터 읽으나 뒤에서 부터 읽으나 같은 문자열을 뜻한다. 3. Constraint 1) 1 Output: 1 (a) 5. Code 1) 첫 코드(2023/02/19) HashMap m = new HashMap(); for(int i=0 ; i
목표: 배열에서 특정 수의 인덱스를 랜덤으로 반환해주는 클래스 구현 - 생성자 - pick() 1. Input - 생성자: int[] nums - pick(): int target 2. Output - pick(): nums에서 target의 인덱스 중 1개를 랜덤으로 반환 // 인덱스가 여러 개일 경우, 각 인덱스가 선택될 확률은 모두 같다. 3. Constraint 1) 1
목표: 배열의 요소를 랜덤하게 섞는 클래스 구현 - 생성자 – reset(), shuffle() 1. Input - 생성자: int[] nums - reset(): 없음 - shuffle(): 없음 2. Output - reset(): 맨 처음으로 받은 배열 - shuffle(): 배열의 요소를 랜덤하게 섞은 결과 3. Constraint 1) 1
1. Input 1) String s 2. Output 1) s의 각 위치마다 자신보다 앞에 나왔으면서, 자신과 가장 가까운 곳에 있는 같은 글자가 어디 있는지 담은 배열 3. Constraint 1) 1 ≤ s의 길이 ≤ 10,000 2) s은 영어 소문자로만 이루어져 있다. 4. Example Input: s="banana" -> Output: [-1, -1, -1, 2, 2, 2] 설명: - b는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없다. -> -1 - a는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없다. -> -1 - n은 처음 나왔기 때문에 자신의 앞에 같은 글자가 없다. -> -1 - a는 자신보다 두 칸 앞에 a가 있다. -> 2 - n도 자신보다 두 칸 앞에 n이 있다. -> ..
1. Input 1) String ransomNote 2) String magazine 2. Output 1) magazine에 있는 알파벳들로 ransomNote를 만들 수 있다면 true를, 만들 수 없다면 false를 반환 3. Constraint 1) 1 Output: true 5. Code 1) 첫 코드(2023/02/14) boolean answer = true; int[] alphabets = new int[26]; for(int i=0 ; i
목표: 링크드 리스트의 노드값을 랜덤으로 돌려주는 Solution클래스 구현 - 생성자 - getRandom() 1. Input - 생성자: 링크드 리스트 - getRandom(): 없음 2. Output - getRandom(): 링크드 리스트의 노드값 중 하나 // 모든 노드들이 선택 받을 확률은 다 같아야 한다. 3. Constraint 1) 리스트에 포함된 노드의 수의 범위는 [1, 10^4]의 정수이다. 2) - 10^4
1. Input 1) String t 2) String p - t와 p는 숫자로만 이루어져 있다. 2. Output 1) t에서 p와 길이가 같은 부분문자열 중에서, 이 부분문자열이 나타내는 수가 p가 나타내는 수보다 작거나 같은 것이 나오는 횟수 3. Constraint 1) 1 ≤ p의 길이 ≤ 18 2) p의 길이 ≤ t의 길이 ≤ 10,000 3) t와 p는 0으로 시작하지 않는다. 4. Example Input: t="10203", p="15" -> Output: 3 설명: p의 길이가 2이므로 t의 부분문자열은 "10", "02", "20", "03"이며, 이중 15보다 작거나 같은 숫자는 "10", "02", "03" 이렇게 3개다. 5. Code 1) 첫 코드(2023/02/09) int ..
1. Input 1) String[] spell 2) String[] dic 2. Output 1) spell에 있는 알파벳을 1번씩만 사용해 만들 수 있는 단어가 dic에 있다면 1, 없다면 2를 반환 3. Constraint 1) spell과 dic의 원소는 알파벳 소문자로만 이루어져있다. 2) 2 ≤ spell의 크기 ≤ 10 3) spell의 원소의 길이는 1 4) 1 ≤ dic의 크기 ≤ 10 5) 1 ≤ dic의 원소의 길이 ≤ 10 6) spell의 원소를 모두 사용해 단어를 만들어야 한다. 7) spell의 원소를 모두 사용해 만들 수 있는 단어는 dic에 1개뿐이다. 8) dic과 spell 모두 중복된 원소를 갖지 않는다. 4. Example Input: spell=["p", "o", ..
1. Input 1) String s 2. Output 1) 모음의 순서가 뒤집어진 문자열 3. Constraint 1) 1 Output: "leotcede" 5. Code 1) 첫 코드(2023/02/06) char[] c = s.toCharArray(); int index = c.length-1; for(int i=0 ; ii ; j--){ if(String.valueOf(c[j]).matches("[aeiouAEIOU]")){ char tmp = c[j]; c[j] = c[i]; c[i] = tmp; index = j-1 ; break; } } // for j } } // for i return new String(c); - 실행시간을 줄여보고싶은데, 아직 이렇다할 방법이 생각나지 않는다.
1. Input 1) int n 2. Output 1) 아래와 같은 규칙으로 nim game을 했을 때, 내가 이긴다면 true, 진다면 false를 반환 // 규칙 - 돌멩이를 테이블 위에 올려놓는다. - 나와 내 친구가 번갈아 가면서 게임을 하고, 내가 먼저 시작한다. - 각 턴에서 돌을 1개에서 3개를 가져간다. - 마지막에 남은 돌을 가져가는 사람이 이긴다. 3. Constraint 1) 1 남은 돌 3개 -> 친구가 3개 -> 친구 승 - 내가 2개 -> 남은 돌 2개 -> 친구가 2개 -> 친구 승 - 내가 3개 -> 남은 돌 1개 -> 친구가 1개 -> 친구 승 - 어떻게 해도 내가 지는 게임이다. 5. Code 1) 첫 코드(2023/01/27) while(n>5) n -= 4; retur..