일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- geometry
- Stack
- 코테
- Number Theory
- sorting
- hash table
- Data Structure
- Math
- string
- simulation
- implement
- Matrix
- 코딩테스트
- Method
- 구현
- Class
- Tree
- 파이썬
- java
- bit manipulation
- SQL
- greedy
- dynamic programming
- Counting
- database
- Binary Tree
- 자바
- two pointers
- array
- Binary Search
- Today
- Total
목록string (235)
코린이의 소소한 공부노트
1. Input 1) String num1 2) String num2 2. Output 1) num1과 num2의 합을 문자열로 반환 - BigInteger와 같은 빌트인 라이브러리 사용 금지 3. Constraint 1) 1 Output: "533" 5. Code 1) 첫 코드(2023/05/19) class Solution { public String addStrings(String num1, String num2) { Stack stack = new Stack(); int carry = 0, i1 = num1.length()-1, i2 = num2.length()-1; while(i1>=0 || i2>=0){ int x = carry; if(i1>=0) x += num1.charAt(i1--)-'0..
1. Input 1) String s 2) String t 2. Output 1) s가 t의 subsequence라면 true, 아니면 false를 반환 - subsequence란 문자가 연속적이지 않아도 차례대로 다른 문자열에 순서대로 있는 것을 말한다. 예를 들면 “ace"는 "abcde"의 subsequence지만 ”aec"는 아니다. 3. Constraint 1) 0
1. Input 1) String s 2) String t 2. Output 1) s가 t가 되기 위해서 추가해야 하는 문자를 반환 3. Constraint 1) 0
1. Input 1) String s 2. Output 1) s의 문자 중 반복되지 않는 첫번째 문자열의 인덱스를 반환 2) 만약 그런 문자가 없다면 -1을 반환 3. Constraint 1) 1 Output: -1 설명: - 반복되지 않는 문자는 l, t, c, o, d이며, 이 중 첫번째로 나오는 문자는 l이므로 l의 인덱스인 0을 반환한다. - 반복되지 않는 문자가 없으므로 -1을 반환한다. 5. Code 1) 첫 코드(2023/05/18) class Solution { public int firstUniqChar(String s) { int ans = -1; HashMap m = new HashMap(); for(int i=0 ; i
1. 입력 - 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’부터 ‘9’ 중 하나이다. 각 줄의 시작과 마지막에 빈칸은 없다. 2. 출력 - 5개의 단어를 세로로 읽은 순서대로 글자들을 출력한다. 이때, 글자들을 공백 없이 연속해서 출력한다. 3. 예제 4. 코드 import java.util.*; import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStream..
그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때문에 그룹 단어이지만, aabbbccb는 b가 떨어져서 나타나기 때문에 그룹 단어가 아니다. 1. 입력 - 첫째 줄에 단어의 개수 N이 들어온다. N은 100보다 작거나 같은 자연수이다. - 둘째 줄부터 N개의 줄에 단어가 들어온다. 단어는 알파벳 소문자로만 되어있고 중복되지 않으며, 길이는 최대 100이다. 2. 출력 - 첫째 줄에 그룹 단어의 개수를 출력한다. 3. 예제 4. 코드 import java.io.*; import java.util.*; class Main { public ..
1. Input 1) String a 2) String b 2. Output 1) 2진수를 담은 문자열 a,b의 합을 2진수 문자열로 반환 3. Constraint 1) 1 =0 || bi>=0){ int sum = carry; if(ai>=0) sum += a.charAt(ai--)=='1' ? 1 : 0; if(bi>=0) sum += b.charAt(bi--)=='1' ? 1 : 0; carry = sum/2; st.push(sum%2); } if(carry==1) st.push(1); StringBuilder sb = new StringBuilder(); while(!st.empty()) sb.append(st.pop()); return sb.toString(); } } - 스택을 이용하지 않고 ..
1. Input 1) String[] words 2) String target 3) int startIndex 2. Output 1) startIndex부터 target까지의 떨어진 거리를 계산해서 가장 짧은 거리를 반환 - 떨어진 거리는 왼쪽, 오른쪽 양 방향으로 계산 가능하다. 2) target이 words에 없다면 -1을 반환 3. Constraint 1) 1
1. Input 1) String[] words 2. Output 1) words의 요소들 중 비슷한 문자열이 있다면 그 문자열의 쌍의 수를 반환 - 비슷하다는 것은 문자열의 구성이 같다는 것을 뜻한다. 3. Constraint 1) 1
1. Input 1) String[] strs 2. Output 1) strs의 각 요소에 대해 다음과 같은 값을 계산했을 때 가장 큰 값을 반환 - 문자열이 숫자로만 이루어져 있다면 해당 문자열의 10진수가 문자열의 값이 된다. - 그 외의 문자열은 문자열의 길이가 값이 된다. 3. Constraint 1) 1 3 - "4“: 숫자 -> 4 - "00000": 숫자 -> 0 - 따라서 가장 큰 5를 반환한다. 5. Code 1) 첫 코드(2023/05/05) class Solution { public int maximumValue(String[] strs) { int max = 0; for(int i=0 ; i