| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- DFS
- 스프링
- 백준
- 개발동아리회고
- IOC
- gradle
- buildtool
- Java
- 빌드툴
- 자바
- 시스템프로그래밍
- springboot
- Spring
- 의존성주입
- umc회고
- 코딩테스트
- 알고리즘
- umc7기
- maven
- 데이터베이스
- 메이븐
- 빅데이터분석
- 데이터분석
- -
- SpringFramework
- 백준dfs
- 리눅스
- DI
- Linux
- Today
- Total
목록Algorithm (11)
repository
https://www.acmicpc.net/problem/24479문제풀이DFS는 재귀함수/스택 자료구조로 구현할 수 있다.1. DFS를 시작할 노드를 정한 후 사용할 자료구조 초기화 하기- 인접 리스트로 그래프 표현하기- 방문 배열 초기화 하기 - 시작 노드 스택에 삽입하기2. 스택에서 노드를 꺼낸 후 꺼낸 노드의 인접 노드를 다시 스택에 삽입하기3. 스택 자료구조에 값이 없을 때 까지 반복한다.코드public class Main { static ArrayList[] A; static boolean visited[]; static int[] visitedOrder; static int order=1; public static void main(String[] args) throws IOExce..
https://www.acmicpc.net/problem/1764문제풀이듣도 못한 사람과 보도 못한 사람의 교집합을 찾아 사전순으로 출력하는 문제이다.나는 중복방지를 위해 HashSet 사용, 사전 순 정렬을 위해 ArrayList 사용했다.코드public class Main { public static void main(String[] args) throws IOException { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out)); StringTokenizer..
https://www.acmicpc.net/problem/2775문제풀이코드public class Main { public static void main(String[] args) throws IOException { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out)); StringBuilder sb=new StringBuilder(); int T=Integer.parseInt(br.readLine()); //Test case int apt[][]=n..
https://www.acmicpc.net/problem/2869문제 풀이낮 동안 목적지에 도착했을 경우를 생각해서 B미터를 빼 주지 않아도 된다.코드public class Main { public static void main(String[] args) throws IOException { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out)); StringTokenizer st=new StringTokenizer(br.readLine()); int ..
https://www.acmicpc.net/problem/18870 문제 풀이문제만 보고 어떤것을 요구하는지 파악하기가 힘들었다.이 문제는 그냥 원소를 크기 순서대로 정렬 후 순위를 매기는 것이라 보면 된다. 원본 배열 입력 받기 -> 원본 배열 정렬 -> HashMap으로 정렬된 배열에 우선 순위 ranking (정렬된 배열을 순회하면서 중복된 숫자는 무시하고 최초 등장하는 숫자에만 Rank를 부여해줌,Key에는 정렬된 배열 값, Value에는 Rank를 저장해야 원본 배열을 Key로 Hashmap에서 값을 찾아서 출력해줄 수 있기 때문)-> 원본 배열 순서 대로 rank 출력 코드public class Main { public static void main(String[] args) throw..
https://www.acmicpc.net/problem/2346 문제풀이이 문제는 데크의 구조를 이해하고 있어야한다.원형으로 풍선들이 배치되어있고,이미 터진 풍선을 제외한 남은 풍선들 사이에서 이동(회전)하는 과정을 구현하기에 데크가 적합하다. int[]로 [풍선 번호, 풍선 속의 번호 종이]의 형태로 저장된다.- poll(), pollLast()를 통해 오른쪽, 왼쪽으로 필요한 만큼 이동 시키고 그 위치에 있는 풍선을 터트린다.- 터뜨린 풍선의 종이 값을 다음 이동에 사용해 다음 풍선을 터트림 코드public class Main { public static void main(String[] args) throws IOException { BufferedReader br=new Buffe..
이게 왜 실버3인지 모르겠다..(어렵다는뜻..)https://www.acmicpc.net/problem/12789 문제풀이코드public class Main { public static void main(String[] args) throws IOException { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out)); int N=Integer.parseInt(br.readLine()); int[] line=new int[N]; StringToken..
https://www.acmicpc.net/problem/11286문제풀이데이터를 삽입할 때 마다 절댓값과 관련된 정렬이 필요하므로, 우선순위 큐로 문제를 해결할 수 있다.단, 이 문제는 절댓값 정렬이 필요해 우선순위 큐의 정렬 기준을 직접 정의 해야 한다.x=0 인 경우큐가 비어 있을 때는 0을 출력비어 있지 않을 때는 절댓값이 최소인 값을 출력.단, 절댓값이 같다면 음수를 우선하여 출력x=0이 아닌 경우add로 큐에 새로운 값을 추가하고, 우선순위 큐 정렬 기준으로 정렬한다.이 문제는 두 개 값을 비교해 어떤 값이 앞에 오고, 뒤에 오는지를 정하는 기준을 정의하는 Comparator로 풀이해야한다.절댓값이 작은 순으로 front에 가깝도록 우선순위 기준을 정의해야 한다.Comparator는 반환값 만..
https://www.acmicpc.net/problem/2164Queue 문제풀이이 문제는 큐를 잘 이해하고 있는지를 묻는 문제이다."카드를 맨 위에서 제거하고, 그 다음 카드를 맨 아래로 옮기는 작업을 반복해 마지막 남은 카드를 찾는 것"은 큐의 선입선출 (FIFO) 성질을 이용해 쉽게 구할 수 있다.(...그리고 알고리즘 분류에 '큐'라고 떡하니 써있다.)문제 풀이 순서 1. poll을 수행해서 front의 카드를 버린다.2. 한번 더 poll을 수행해서 그 카드를 가장 아래의 카드 위치로 이동한다 (rear의 위치)3. 큐의 크기가 1이 될 때 까지 과정 1~2를 반복해서 큐에 남은 원소를 출력한다. Queue 코드public class Main { public static void main..