일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Binary Search
- sorting
- 코딩테스트
- 코테
- Method
- implement
- Class
- geometry
- simulation
- 자바
- hash table
- array
- Data Structure
- two pointers
- dynamic programming
- database
- Number Theory
- SQL
- 구현
- Binary Tree
- java
- Tree
- Counting
- Matrix
- Math
- greedy
- 파이썬
- bit manipulation
- Stack
- string
- Today
- Total
목록자바 (584)
코린이의 소소한 공부노트

[지네릭 타입의 형변환] 1. 지네릭 타입과 원시 타입 간의 형변환은 바람직하지 않다. Box box = null; Box objBox = null; Box strBox = null; box = (Box)objBox; // OK. 지네릭 -> 원시. 경고 발생 objBox = (Box)box; // OK. 원시 -> 지네릭. 경고 발생 box.add(new Integer(100)); // OK. box가 원시타입이기 때문에 경고만 발생함 2. 서로 다른 지네릭 타입으로는 형변환이 되지 않는다. objBox = (Box)strBox; // 에러. Box -X-> Box strBox = (Box)objBox; // 에러. Box -X-> Box 3. 와일드카드가 사용된 지네릭 타입으로는 형변환이 가능하다. ..

[와일드카드 ‘?’ 사용 이유] - 지네릭 타입을 이용한 선언문 작성 시 타입이 같아야 한다.. ArrayList list = new ArrayList(); // OK list = new ArrayList(); // 지네릭 타입이 달라서 에러 list = new ArrayList(); // 지네릭 타입이 달라서 에러 - 지네릭 타입에 와일드카드를 쓰면, 하나의 참조변수로 여러 타입의 객체를 참조할 수 있다. ArrayList - 제한 없음 - 모든 타입 가능 -

[Iterator] - 클래스를 작성할 때 Object타입 대신 T와 같은 타입 변수를 사용한다. // 일반 클래스// 지네릭 클래스 public interface Iterator{public interface Iterator{ boolean hasNext();boolean hasNext(); Object next();E next(); void remove();void remove(); }} // 생성 및 사용 Iterator it = list.iterator();Iterator it = list.iterator(); while(it.hasNext()){while(it.hasNext()){ Student s = (Student)it.next();Student s = it.next(); // 타입 불일치로..
1. Input 1) int 변수 left 2) int 변수 right 2. Output 1) left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수 3. Constraint 1) 1 ≤ left ≤ right ≤ 1,000 4. Example Input: left=13, right=17 -> Output: 43 설명: 13, 14, 15, 16, 17은 약수의 개수가 각각 2, 4, 4, 5, 2개이므로 약수의 개수가 홀수 개인 16만 빼고 나머지는 더하면 된다 -> 13+14+15-16+17=43 5. Code 1) 첫 코드(2022/??) int answer = 0; if(1
1. Input 1) 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s 2. Output 1) s가 의미하는 원래 숫자 3. Constraint 1) 1 ≤ s의 길이 ≤ 50 2) s가 "zero" 또는 "0"으로 시작하는 경우는 주어지지 않는다. 3) 반환 값이 int 범위에 맞는 정수가 되는 올바른 입력만 s로 주어진다. 4) 각 숫자에 대응하는 영단어는 다음같이 나온다. 0 zero 1 one 2 two 3 three 4 four 5 five 6 six 7 seven 8 eight 9 nine 4. Example Input: s="one4seveneight" -> Output: 1478 5. Code 1) 첫 코드(2022/??) String rest = s; St..
1. Input 1) 놀이기구의 이용료 price 2) 처음에 가지고 있던 금액 money 3) 놀이기구 이용 횟수 count 4) input 3가지는 모두 int 2. Output 1) 놀이기구를 count번 타게 됐을 때 money에서 모자른 금액을 담은 long 변수 2) 놀이 기구는 타면 탈수록 이용료가 price만큼 증가한다. 즉 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상된다. 3. Constraint 1) 1 ≤ price ≤ 2,500 2) 1 ≤ money ≤ 1,000,000,000 3) 1 ≤ count ≤ 2,500 4. Example Input: price=3, mony=20, count=4 -> Output: 10 설명: 이용금액이 3인 놀이..
1. Input 1) 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers 2. Output 1) numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수 3. Constraint 1) 1 ≤ numbers의 길이 ≤ 9 2) 0 ≤ numbers의 모든 원소 ≤ 9 3) numbers에는 중복된 원소가 없다. 4. Example Input: numbers={5,8,0,4,6,7,9} -> Output: 6 설명: 0부터 9까지의 숫자 중 numbers에 없는 수는 1,2,3이므로 합인 6을 반환 5. Code 1) 첫 코드(2022/??) // 0부터 9까지의 합은 45 // 없는 숫자의 합 = 45 - 있는 숫자의 합 int sum = 45; for(int i=0 ; i
1. Input 1) 모든 명함의 가로 길이와 세로 길이를 나타내는 2차원 int 배열 sizes 2. Output 1) 모든 명함을 수납할 수 있는 가장 작은 지갑을 만들 때, 지갑의 크기(넓이) 3. Constraint 1) sizes의 길이는 1 이상 10,000 이하 2) sizes의 원소는 {w, h} 3) w는 명함의 가로 길이 4) h는 명함의 세로 길이 5) w와 h는 1 이상 1,000 이하인 자연수 4. Example Input: sizes={{60, 50}, {30, 70}, {60, 30}, {80, 40}} -> Output: 4000 설명: 가장 긴 가로 길이와 세로 길이가 각각 80, 70이기 때문에 80*70 크기의 지갑을 만들면 모든 명함들을 수납할 수 있다. 하지만 2번 ..
1. Input 1) 자연수 n 2. Output 1) 자연수 x 2) n을 x로 나눈 나머지가 1이 되는 가장 작은 자연수가 x 3. Constraint 1) 3 ≤ n ≤ 1,000,000 4. Example Input: n=10 -> Output: 3 설명: 10 % 1 = 0 10 % 2 = 0 10 % 3 = 1 5. Code 1) 첫 코드(2022/??) int answer = 0; for(int i=2 ; i
1. Input 1) 문자열 before 2) 문자열 after 2. Output 1) before의 순서를 바꿔 after를 만들 수 있으면 1을, 없으면 0을 반환 3. Constraint 1) 0 Output: 1 Input: before=“muzi”,after=“ryan” -> Output: 0 5. Code 1) 첫 코드(2022/11/03) import java.util.Arrays; // main() String[] b = before.split(""); String[] a = af..