코테공부

· Algorithm
- 알고리즘 분류 : 구현 및 정렬 - 사용 언어 : JAVA - 문제 요점 - Comparable 인터페이스를 구현해서 정렬하였음. 소스 설명은 주석을 참고해주세요. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.PriorityQueue; public class Main { // Comparable 인터페이스를 구현해서 커스텀 정렬 순서 정의 static class CustomInt implements Comparable{ int num; public CustomInt(int num) { this.num = num; } @Override public in..
· Algorithm
- 알고리즘 분류 : DFS와 DP 이용 - 사용 언어 : JAVA - 문제 요점 - DFS와 백트래킹으로만 풀이했더니, 시간초과 발생함. - 도움받은 블로그 : https://velog.io/@mulgyeol/백준-1520-내리막길-Java 소스 설명은 주석을 참고해주세요. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; // Link : https://www.acmicpc.net/problem/1520 // 도움받은 블로그 : https://velog.io/@mulgyeol/백준-1520-내리막길-Java public cla..
· Algorithm
- 알고리즘 분류 : 트리 - 사용 언어 : JAVA 소스 설명은 주석을 참고해주세요. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; // Link : https://www.acmicpc.net/problem/9934 // 참고로 처음에 Node의 value 타입을 char로 줬었는데, 노드의 depth가 4 이상이 넘어가는 경우 10의 자리가 될 수 있기 때문에 char로 하면 안됨. int로 수정함 public class Main { public static int K; public sta..
· Algorithm
- 알고리즘 분류 : BFS - 사용 언어 : JAVA - 문제 요점 익은 토마토들을 큐에다가 넣어둔다. 큐가 빌 때까지 큐에서 익은 토마토들을 꺼내고, 상하좌우를 확인한다. 상하좌우 중, 안익은 토마토가 있으면 큐에 넣고 카운트하고 탐색 진행 범위를 벗어나거나, 안익은 토마토가 아니면 무시 결과 출력 소스 설명은 주석을 참고해주세요. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class Main { // 토마토에 대..
· Algorithm
- 알고리즘 분류 : 다이나믹 프로그래밍, Bottom-Up 방식 - 사용 언어 : JAVA - 문제 요점 3잔 연속으로 마시는 것 금지 현재 잔으로부터 이전 3번 째 잔까지만 확인 3번 째 잔부터 아래 3개의 항목 중 값이 큰 항목으로 적용 현재 잔 안마시기 2번째 전의 잔까지 마셨던 거 + 현재 잔 마시기 3번째 잔의 전까지 마셨던 거 + 이전 잔 마시기 + 현재 잔 마시기) 포도주의 잔 갯수는 1이상이므로, d[2] 계산식을 조건에 두어 처리 소스 설명은 주석을 참고해주세요. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static..
· Algorithm
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException{ // TODO Auto-generated method stub BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); br.close(); // 이전 대각선 까지의 칸 갯수 int beforeSum = 0; // 현재 대각선의 칸 갯수 int curren..
· Algorithm
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); // 나무의 수 int N = Integer.parseInt(st.nextToken()); // 필요한 나무의..
· Algorithm
이 포스팅에서 작성하는 내용은 이것이 취업을 위한 코딩테스트다 (나동빈 지음) 에서 발췌하였습니다. 정렬(Sorting) - 정렬 : 데이터를 특정한 기준에 따라서 순서대로 나열하는 것 - 정렬을 잘 터득하면 이진 탐색(Binary Search)가 가능하니 기초를 잘 잡아야 한다. 선택 정렬(Selction Sort) - 데이터가 무작위로 여러개 있을 때, 가장 작은 데이터와 맨 앞에 있는 데이터를 바꾸고 그 다음 작은 데이터를 앞에서 두번 째 데이터와 바꾸는 과정을 반복하는 알고리즘. - '매번 가장 작은 것을 선택하는 알고리즘' - 시간복잡도 : O(N2) public class Main { public static void main(String[] args) { // 선택 정렬 이용. int[] a..
멍목
'코테공부' 태그의 글 목록