일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 파이썬
- Matrix
- SQL
- hash table
- greedy
- Data Structure
- 코테
- sorting
- 구현
- bit manipulation
- 자바
- database
- simulation
- Class
- string
- implement
- array
- two pointers
- Counting
- Math
- java
- Stack
- 코딩테스트
- dynamic programming
- Number Theory
- Method
- Binary Tree
- Tree
- geometry
- Binary Search
- Today
- Total
목록자바 (584)
코린이의 소소한 공부노트
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..
1. Input 1) 양의 정수 n 2. Output 1) n을 2진수로 표현했을 때의 binary gap 중에서 가장 긴 것을 반환 - binary gap이란 두 1 사이의 거리를 말한다. 이때 두 1 사이에 다른 1이 있으면 안된다. 3. Constraint 1) 1
1. Input 1) 문자열 s 2) 문자열 t 2. Output 1) 문자열을 규칙에 따라 정리한 후 s와 t가 같다면 true를, 다르면 false를 반환 - 규칙: 문자열에 ‘#’이 있다면 앞 글자를 지운다. 키보드의 backspace 역할을 하는 것이다. 만약 ‘#’ 앞이 빈 문자열이라면 아무 일도 일어나지 않는다. 3. Constraint 1) 1 Output: false (“c”!=“b”) 5. Code 1) 첫 코드(2022/12/29) import java.util.*; Stack ss = new Stack(); Stack tt = new Stack(); for(int i=0 ; i
1. Input 1) 문자열 배열 word1 2) 문자열 배열 word2 2. Output 1) word1의 요소를 합쳐 만든 문자열과 word2의 요소를 합쳐 만든 문자열이 같으면 true, 다르면 false 반환 - 이때 배열의 순서대로 요소들을 합쳐야 한다. 3. Constraint 1) 1
1. Input 1) 문자열 s 2. Output 1) 같은 문자 2개 사이에 있는 substring중 가장 긴 것의 길이를 반환 2) 해당 substring이 없다면 –1을 반환 3. Constraint 1) 1 Output: 0 (a 사이의 “”) Input: s = "cbzxy" -> Output: -1 (같은 문자가 없음) 5. Code 1) 첫 코드(2022/08/01) int max = -1; for(int i=0 ; i