일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 그래프
- 인터넷
- 백준2493
- Queue
- 백준13901
- 프로토콜
- 브루트포스
- 오블완
- 시뮬레이션
- deque
- 코딩테스트
- 컴퓨터 네트워크
- 정렬
- 백준2823
- 백준3085
- 배열
- 티스토리챌린지
- Stack
- BFS
- 파이썬
- 백트래킹
- 컴퓨터네트워크
- 파이썬실습
- Java
- linkedlist
- dfs
- 그래프이론
- greedy
- Python
- 백준1926
- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 그래프
- 인터넷
- 백준2493
- Queue
- 백준13901
- 프로토콜
- 브루트포스
- 오블완
- 시뮬레이션
- deque
- 코딩테스트
- 컴퓨터 네트워크
- 정렬
- 백준2823
- 백준3085
- 배열
- 티스토리챌린지
- Stack
- BFS
- 파이썬
- 백트래킹
- 컴퓨터네트워크
- 파이썬실습
- Java
- linkedlist
- dfs
- 그래프이론
- greedy
- Python
- 백준1926
- Today
- Total
목록오블완 (7)
Little cabin in the woods

Collection FrameWork 란?자료 구조 및 알고리즘을 효율적으로 구현하기 위한 자바 클래스들과 인터페이스들의 집합 📌컬렉션 프레임워크에 저장할 수 있는 데이터는 오직 객체(Object) 뿐이다. 즉, int형이나 double형 같은 자바의 primitive 타입은 적재를 할 수 없다. 따라서 primitive 타입은 wrapper 클래스로 변환하여 Integer 객체나 Double 객체로 박싱하여 저장해야 한다. 또한 객체를 담는다는 것은 곧 주소값을 담는다는 것이니, null 도 저장이 가능하다. 컬렉션 프레임워크는 크게 Collection 인터페이스와 Map 인터페이스로 나뉜다.List, Queue, Set 계열은 Collection 인터페이스를 구현하고, Map 은 따로 분리된 인터페..
이번에 풀어 볼 문제는 이다.https://www.acmicpc.net/problem/1158📌 문제 탐색하기목표규칙에 맞게 원에서 사람들이 제거되는 순서 구하기해야 할 것1. 사람들이 원으로 앉아있는 것을 어떤 식으로 저장해야 할까? 2. k 번째 사람을 뽑아 출력하기입력[첫줄] N (사람 수), K ( 뽑을 번호 ) (1 ≤ K ≤ N ≤ 5,000) 아이디어1. 사람들이 원으로 앉아있는 것을 어떤 식으로 저장해야 할까? 일단 순회하면서 삭제가 진행되므로 ListIterator를 사용하는 것이 좋을 것 같고, 삭제가 자주 일어나기 때문에 LinkedList를 사용해보자.. 2. k 번째 오는 사람을 뽑되, 리스트의 끝에 다다르면 커서를 리스트의 처음으로 옮긴다. 📌 코드 설계하기1. input..
이번에 풀어 볼 문제는 이다.https://www.acmicpc.net/problem/5397📌 문제 탐색하기목표강산이의 비밀번호 알아내기해야 할 것1. 강산이가 입력한 문자열을 보고 규칙 적용하기2. 최종 문자열 출력입력[첫줄] 테스트 케이스의 수 [둘째줄 ~ ] 강산이가 입력한 문자열 ( 1 ≤ L (문자열의 길이) ≤ 10^6 ) 아이디어1. 적용해야 할 규칙'-' : 백스페이스 , 현재 커서 위치의 왼쪽에 글자가 존재한다면 그 글자를 지운다.''>' : 커서의 위치를 오른쪽으로 한 칸 움직인다. 2. 문자열을 어떻게 저장해야 할까?일단 문자열의 크기가 계속 변하기 때문에 동적 자료형이어야 한다.삽입, 삭제가 빈번하므로 LinkedList 또는 Stack을 사용해서 풀어보자.📌 코드 설계하기1..
이번에 풀어 볼 문제는 이다.https://www.acmicpc.net/problem/1406📌 문제 탐색하기목표모든 명령어를 수행하고 난 후, 편집기에 남아 있는 문자열 구하기해야 할 것1. 초기 문자열을 어떻게 저장해야할까?2. 커서의 움직임은 어떤 방식으로 기록해야할까?입력[첫줄] 문자열 ( 길이 N ≤ 10^5 , 영어 소문자로만 이루어짐 )[둘째 줄] M : 입력할 명령어의 개수 ( 1 ≤ M ≤ 500,000 )[셋째 줄 ~ ] : 입력할 명령어 (L,D,B,P$ 중 하나) 아이디어1. 초기 문자열을 어떻게 저장해야할까?➡️문자열의 크기가 계속 변하니까 단순 배열이 아닌 동적 자료구조를 사용하는 것이 좋겠다.➡️삽입, 삭제가 잦기 때문에 ArrayList 보다 LinkedList를 사용하는 ..
이번에 풀어 볼 문제는 이다.https://www.acmicpc.net/problem/1919📌 문제 탐색하기목표두 단어가 서로 애너그램 관계에 있도록 만들기 위해 제거해야 하는 최소 문자 개수 구하기해야 할 것1. 애너그램 관계에 있다는 것을 어떻게 판단할까?2. 제거해야 할 문자의 개수를 어떻게 알 수 있을까?입력[첫줄] 영어 단어 ( 소문자로 주어짐, 길이는 한 글자 이상 1000자 이하)[둘째 줄] 영어 단어 ( 소문자로 주어짐, 길이는 한 글자 이상 1000자 이하) 아이디어1. 애너그램 관계에 있다는 것을 어떻게 판단할까?➡️ 단어에 들어 있는 알파벳 종류와 개수가 같으면 애너그램 관계➡️ 두 단어에 들어 있는 a~z 까지의 개수를 저장하는 배열을 생성하고, 각 원소를 비교하자. 2. 제거..
이번에 풀어 볼 문제는 이다.https://www.acmicpc.net/problem/11328📌 문제 탐색하기목표2번째 문자열이 1번째 문자열에 strfry 함수를 적용하여 얻어질 수 있는지 판단하기해야 할 것1. 1, 2 번째 문자열에 포함된 알파벳 종류와 개수가 같은지 판단하기2. 같으면 Possible, 다르면 Impossible 출력입력[첫줄] N : 테스트 케이스의 수 ( 0 ≤ N ≤ 1001 )[둘째줄 ~ ] 공백으로 구분된 문자열 ( 최대 길이 1000 ) 아이디어1. 최대 탐색 범위가 1000 * 1000 = 10^6 이므로 하나하나 비교하며 진행해도 시간초과는 나지 않을 것으로 보인다. 2. 1, 2 번째 문자열에 포함된 알파벳 종류와 개수가 같은지 판단하기 1) 문자열을 배열에..

배열- 특정 타입의 데이터를 묶음으로 다루기 위해 사용- 순서가 있음- 지정된 자료형과 개수만큼 메모리 공간을 나란히 확보 ( 메모리 할당 후 크기 변경이 불가능함 ) 선언 및 초기화// 선언과 동시에 초기화char[] yutnori ={'도','개','걸','윷','모'};char[] yutnori = new char[]{'도','개','걸','윷','모'}; 초기화하지 않고 일단 크기만 부여해서 선언할 시, 배열 내부에는 각 자료형의 초기값이 알아서 부여된다. chrAry의 경우 null을 표현하는 아스키 코드 '\u0000' 가 담긴다고 한다.위 이미지처럼 선언만 해두고 System.out.println(intAry[0]) 을 실행하면 0이 출력된다.문자열 배열의 경우, 각 문자열이 저장된 주소값..