문자열의 모든 문자를 반복하는 방법은 두가지가 있다. charAt()을 사용하여 문자열에서 인자로 주어진 값에 해당하는 문자(char)를 리턴받는 방법String str = "string입니다."; for (int i = 0, n = str.length(); i < n; i++) { char c = str.charAt(i); } toCharArray()를 사용하여 문자열의 문자를 char[] 배열로 만드는 방법char[] chars = str.toCharArray(); for (int i = 0, n = chars.length; i < n; i++) { char c = chars[i]; } 두가지 방법 중 뭐가 더 좋다고 할 수 없지만, toCharArray()를 사용하는 경우 char[] 를 선언하기 ..
Stack 선형 자료구조의 일종으로 후입 선출(Last In First Out :LIFO) 방식이다. 즉, 나중에 들어간 원소가 먼저 나오는 특징을 가지고 있다. 데이터를 쌓아 올리는 구조로 먼저 Stack에 들어간 데이터는 맨 바닥에 깔린다. 따라서 늦게 들어간 원소는 맨 위에 놓이게 되고 호출시 가장 먼저 나가게된다. 입력(push), 출력(pop-java에서는 poll), 가장 위에 있는 데이터 확인(peek), 해당 값이 스택에서 몇번째 있는지(search) 등이 있다. 스택은 Random Access(비순차적 접근)이 불가능하다. 삽입/삭제는 O(1)의 시간 복잡도를 갖는다. 스택은 재귀 알고리즘을 사용할 때 유용하다. 재귀적으로 함수를 호출해야하는 경우, 임시 데이터를 스택에 넣고 재귀 함수를..
문제 알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. 길이가 짧은 것부터 길이가 같으면 사전 순으로 https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1≤N≤20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 입력 첫째 줄에 단어의 개수 N이 주어진다. (1≤N≤20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. 출력 조건에 따라 정렬하여 단어들을..
알고리즘 문제를 풀다가 사용한 자료구조(컬랙션)에 따라 시간이 많이 차이나는 것을 알았다. 다음은 각 컬랙션 클래스의 시간복잡도를 정리한 것이다. List Class Name Add Remove Get Contains ArrayList O(1) O(n) O(1) O(n) LinkedList O(1) O(1) O(n) O(n) Set Class Name Add Contains Next HashSet O(1) O(1) O(h/n) LinkedHashSet O(1) O(1) O(1) EnumSet O(1) O(1) O(1) TreeSet O(log n) O(log n) O(log n) Queue Class Name Offer Peak Poll Size PriorityQueue O(log n) O(1) O(lo..
Lombok은 Model Object 를 만들때, 멤버필드에 대한 Getter/Setter, ToString 등 불필요하게 반복적으로 만드는 코드를 어노테이션을 통해 줄여 주는 라이브러리이다. Room과 Lombok을 같이 사용하면 "error: Cannot find getter for field" 와 같은 오류가 생길 수 있다. 이때 dependencies에 아래와 같이 추가해야한다. 여기서 주의 사항은 꼭 lombok이 위에 있어야 한다. compileOnly 'org.projectlombok:lombok:1.18.8' annotationProcessor 'org.projectlombok:lombok:1.18.8' implementation "android.arch.persistence.room:ru..
- Total
- Today
- Yesterday
- java
- 기능개발
- loss function
- 우선순위큐
- algorithm
- git
- N-Queen
- 백 트래킹
- 농협정보시스템IT
- SRTN
- Objective function
- Android
- 3-way-handshake
- programmers
- 네트워크
- DFS
- 프로세스 스케줄링
- hashtable
- 알고리즘
- 4-way-handshake
- 프로그래머스
- MFQ
- MLQ
- hash
- Process Scheduling
- 백트래킹
- SWExpert
- 사회망서비스
- binarySearch
- 자료구조
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |