본문 바로가기

Coding Test4

BOJ - JAVA 입력 템플릿 백준 사이트에서 JAVA를 이용해 알고리즘 문제를 풀 때 입력하는 방법을 문제마다 만들어야 한다. 단점 1. 알고리즘 문제를 푸는데 집중하지 못한다. 2. 알고리즘 코드에 데이터를 입력하는 코드를 섞게 되면 클린한 코드가 되지 못한다. 구글링을 통해 같은 고민을 하는 사람들이 많다는 것을 보게 되었고 그 중에서 "류호석" 님의 템플릿을 발견하게 되었다! public class Main { static FastReader scan = new FastReader(); // 정답은 sb에 append 를 사용해 출력 // 만약 개행까지 출력하고 싶으면 append('\n')를 추가 static StringBuilder sb = new StringBuilder(); public static void main(S.. 2023. 9. 13.
BOJ 1260 - DFS와 BFS https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 난이도 : 실버 2 ※ 풀이방법 1. 인접 행렬 2. 인접 리스트 1. 인접 행렬 static Integer N, M, V; static int[][] adj; //인접 행렬 static boolean[] visit; // 방문 여부 N : 정점의 개수 M : 간선의 개수 V : 탐색을 시작할 정점 번호 static void input() throws IOEx.. 2023. 9. 13.
comparable? comparator? public static void main(String[] args) { Integer[] testArr = {1, 5, 100, 23, 2}; Arrays.sort(testArr); System.out.println("Arrays.toString(testArray) = " + Arrays.toString(testArr)); } 위의 결과는 다음과 같다. public static void main(String[] args) { Test test1 = new Test(100, "A"); Test test2 = new Test(300, "C"); Test test3 = new Test(200, "B"); Test[] tests = new Test[]{test1, test2, test3}; Arrays.sor.. 2023. 9. 10.
Primitive? Wrapper? & List? ArrayList? 1. Primitive 자료형 VS Wrapper 클래스 primitive 자료형 예 : int, long, double ... wrapper 클래스 예 : Integer, Long, Double ... Wrapper형은 primitive(기본형)을 객체로 다루기 위해 감싼 클래스라고 생각하면 된다. Wrapper형 장점 null 처리 용이 `ArrayList` 같은 객체만 사용 가능한 기능을 쓸 수 있음 Wrapper형 단점 객체 생성 비용, 참조 비용 등 높은 비용 발생 정리하자면, Coding Test에서는 Wrapper 클래스를 이용해 복잡도를 낮출 수 있다! 2. List VS ArrayList List list = new ArrayList(); ArrayList list = new ArrayL.. 2023. 9. 10.