Algorithm/자료구조 5

BOJ#1927 최소 힙

BOJ#1927 최소 힙 * 문제https://www.acmicpc.net/problem/1927 * 풀이- Heap 설명 : http://stack07142.tistory.com/198 - 2가지 방법으로 풀어 보았습니다. 1) 제공되는 PriorityQueue 이용하기 2) Min Heap 구현하기 * 나의 코드https://github.com/stack07142/BOJ/tree/master/BOJ%231927_MinHeap/src 1) Priority Queue 이용하기 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.PriorityQueue; /** ..

BOJ#13414 수강신청

BOJ#13414 수강신청 * 문제https://www.acmicpc.net/problem/13414 * 풀이시간초과에 유의하여 풀어야 합니다. 1. 자료구조 선택입력되는 값의 순서를 유지해야 한다. → Linked중간 중간 중복되는 값을 검사해야 하므로 검색이 빨라야 한다. 규모가 커질 수록 검색에 유리한 → Hash 따라서 LinkedHashSet을 이용한다. 2. 입출력 시간 최소화입력 : Scanner 대신 BufferedReader를 이용출력 : System.out.println 대신 BufferedWriter를 이용하자. 또는 Stringbuilder에 내용을 담았다가 System.out.println에 한번에 출력 3. Collections에 접근할 때는 Iterator를 이용하며,Itera..

BOJ#1406 에디터

BOJ#1406 에디터 * 문제https://www.acmicpc.net/problem/1406 * 풀이 자바에 기초가 없어서 그런지 이번 문제는 꽤 어려웠습니다 1)자료구조 선택 시, ArrayList 대신 LinkedList를 선택합니다.왜냐하면 리스트 중간에서 삽입/삭제 시 LinkedList가 속도면에서 더욱 유리하기 때문입니다. 물론 index활용이 전제되어야 합니다. 중간에서 삽입/삭제 시 유리한 것은 맞지만, 그 전에 중간까지 가기 위한 검색 과정이 O(n)으로 오래 걸리기 때문입니다. 2) Iterator를 사용합시다.Iterator는 Java Collection에 저장된 요소에 접근하는데 사용되는 표준화된 인터페이스입니다. 이 문제에서는 ListIterator를 사용하는 것이 좋겠습니다...

BOJ#10799 쇠막대기

BOJ#10799 쇠막대기 * 문제https://www.acmicpc.net/problem/10799 * 풀이초등부, 중등부 문제입니다. 어렵지 않고 재밌는 문제인 것 같아요. 저는 일단 입력받은 String에서 ()을 x로 치환했고,이후 Char Array로 변환해서 for loop을 돌렸습니다. 입력값 : (((()(()()))(())()))(()())치환값 : (((x(xx))(x)x))(xx) loop를 돌면서' ( ' 가 나오면 왼쪽 괄호 개수++, 조각 개수++' x ' 가 나오면 레이저 개수++ → 조각 개수 update → 레이저 개수 = 0' ) ' 가 나오면 왼쪽 괄호 개수-- inputStr = br.readLine(); replacedStr = inputStr.replace("()"..