일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Counting
- greedy
- implement
- 코딩테스트
- 코테
- array
- Binary Search
- java
- dynamic programming
- SQL
- sorting
- Matrix
- Binary Tree
- 파이썬
- 자바
- string
- Math
- bit manipulation
- Method
- Data Structure
- 구현
- Tree
- simulation
- Stack
- hash table
- Class
- Number Theory
- geometry
- two pointers
- database
- Today
- Total
목록코딩테스트 풀이/JAVA (963)
코린이의 소소한 공부노트
1. Input 1) 정수 배열 encoded - encoded의 길이는 n-1이다. 2) 정수 first 2. Output 1) 다음 규칙을 이용해 해독한 배열 arr - arr의 길이는 n이다. // 규칙 - arr[0] == first - encoded[i] == arr[i] XOR arr[i+1] 3. Constraint 1) 2
1. Input 1) 정수 n 2. Output 1) 다음 규칙에 따라 예금했을 때 n일에 은행 계좌에 있는 예금액을 반환 // 규칙 - 월요일에는 1을 예금한다. - 매일 예금액이 1씩 늘어난다. - 다음 월요일에는 이전 월요일보다 1 더 많이 예금한다. 3. Constraint 1) 1 0){ if(n-7>=0){ sum += (6+2*mon)*7/2; mon++; n -= 7; }else{ for(int i=0 ; i
1. Input 1) 정수 배열 nums 2. Output 1) nums의 세 숫자를 변의 길이로 하는 삼각형을 만들었을 때 가장 큰 둘레의 길이를 반환 2) 삼각형을 만들 수 없다면 0을 반환 3. Constraint 1) 3
1. Input 1) 문자열 s 2. Output 1) s를 반으로 나눴을 때, 나눈 두 문자열이 alike하면 true를, 다르면 false를 반환 - 문자열이 alike하다는 것은 각 문자열에 있는 모음의 수가 같다는 것을 의미한다. 3. Constraint 1) 2 Output: false (text / book) 5. Code 1) 첫 코드(2022/06/10) s = s.toLowerCase(); int count = 0; // a의 모음 개수 세기 for(int i=0 ; i
1. Input 1) 정수 n 2. Output 1) 다음 규칙에 따라 토너먼트를 진행할 때 우승자가 나올 때 까지의 경기 수를 반환 // 규칙 - 현재 팀이 짝수개라면 2팀씩 짝지어 경기를 진행한다. 이때 진행되는 경기수는 n/2이며 n/2팀이 다음 라운드에 진출하게 된다. - 현재 팀이 홀수개라면 랜덤으로 1팀이 부전승이 되고 나머지는 경기를 진행한다. 이때 진행되는 경기수는 (n-1)/2이며 (n-1)/2 +1팀이 다음 라운드에 진출하게 된다. 3. Constraint 1) 1 1){ if(n%2==0){ count += n/2; n /= 2; } else{ count += (n-1)/2; n = (n-1)/2 +1; } } return count;
1. Input 1) 문자열 allowed 2) 문자열 배열 words 2. Output 1) words의 요소 중 allowed에 있는 문자로만 이루어진 요소의 개수를 반환 3. Constraint 1) 1
1. Input 1) 문자열 command 2. Output 1) Goal Parser를 이용해서 command를 해석한 결과 문자열 // Goal Parser의 해석 규칙 - “G”는 “G”이다. - “()”는 “o”이다. - “(al)”은 “al”이다. 3. Constraint 1) 1
1. Input 1) 2차원 정수 배열 accounts - account[i][j]의 값은 i번째 고객의 j번째 은행 예금액이다. 2. Output 1) 각 고객마다 은행의 모든 예금액을 합했을 때, 가장 큰 금액을 반환 3. Constraint 1) m == accounts.length 2) n == accounts[i].length 3) 1
1. Input 1) 문자열 s1 2) 문자열 s2 2. Output 1) s1과 s2에서 중복되지 않는 단어를 담은 문자열 배열 - 순서는 상관 없다. 3. Constraint 1) 1 Output: ["banana"] 5. Code 1) 첫 코드(2022/12/30) import java.util.*; HashMap m = new HashMap(); String[] words = s1.split(" "); for(String w : words){ if(!m.containsKey(w)) m.put(w,1); else m.replace(w, m.get(w)+1); } words = s2.split(" "); for(String w : words){ if(!m.containsKey(w)) m.put(w,1..