일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- bit manipulation
- string
- Counting
- 코딩테스트
- geometry
- Tree
- Matrix
- hash table
- Binary Tree
- array
- two pointers
- Method
- Stack
- SQL
- Data Structure
- 코테
- simulation
- greedy
- 파이썬
- implement
- Math
- Class
- dynamic programming
- 자바
- java
- Number Theory
- Binary Search
- 구현
- sorting
- database
- Today
- Total
목록string (235)
코린이의 소소한 공부노트
1. Input 1) String[] list1 2) String[] list2 2. Output 1) 두 배열의 공통 문자열이 있을 때, 그 인덱스의 합이 최소가 되는 문자열을 담은 배열을 반환 - 인덱스의 합이 최소가 되는 문자열이 여러개라면 순서에 상관없이 담아서 반환 3. Constraint 1) 1
1. Input 1) int num 2. Output 1) num의 있는 숫자를 remapping해서 다른 수로 만들었을 때의 최댓값과 최솟값의 차를 반환 3. Constraint 1) 1 99899 - 최솟값을 얻으려면 1을 0으로 바꿔야 한다. -> 890 - 따라서 99899 - 890 = 99009를 반환한다. 5. Code 1) 첫 코드(2023/03/01) String n = String.valueOf(num); int index = 0; for(int i=0 ; i
1. Input 1) String[] keymap - 자판의 키가 담긴 배열로, keymap[i]에는 해당 키를 n번 눌렀을 때 입력되는 문자들이 담겨있다. // 예를 들어 keymap[0] = "ABACD" 인 경우 키를 한 번 누르면 A, 두 번 누르면 B, 세 번 누르면 A 가 된다. 2) String[] targets - keymap을 이용해 입력할 문자열이 담겨있다. 2. Output 1) targets[i]를 작성하려할 때 눌러야 하는 최소 횟수를 담은 int[] 2) targets[i]를 작성할 수 없다면 -1를 저장 3. Constraint 1) 1 ≤ keymap의 길이 ≤ 100 2) 1 ≤ keymap의 원소의 길이 ≤ 100 3) keymap의 원소의 길이는 서로 다를 수 있다. 4..
1. Input 1) String s 2) String p 2. Output 1) s의 부분 문자열 중 p의 애너그램의 시작 인덱스를 담은 List // 애너그램이란 문자를 재배열했을 때 다른 단어와 같게 되는 단어를 말한다. 3. Constraint 1) 1
1. Input 1) String[] cards1 2) String[] cards2 3) String[] goal 2. Output 1) cards1과 cards2에 적힌 단어들로 goal를 만들 있다면 "Yes"를, 만들 수 없다면 "No"를 반환 // 이때, 카드에 적힌 단어 순서대로 goal을 만들 수 있어야 한다. 3. Constraint 1) 1 ≤ cards1의 길이, cards2의 길이 ≤ 10 2) 1 ≤ cards1[i]의 길이, cards2[i]의 길이 ≤ 10 3) cards1과 cards2에는 서로 다른 단어만 존재한다. 4) 2 ≤ goal의 길이 ≤ cards1의 길이 + cards2의 길이 5) 1 ≤ goal[i]의 길이 ≤ 10 6) goal의 원소는 cards1과 card..
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
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
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", ..