일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 위클리 6주차
- BFS
- ElementTree
- 몯느 순열
- BOJ
- DP
- 순열장난
- 백트랙킹
- 복서 정렬하기
- 재귀
- Java
- 1174
- 완전 탐색
- 입실 퇴실
- openssl
- 백트래킹
- 코딩테스트
- 좋은 수열
- 프로그래머스
- 문서자동화
- 백준
- 39080
- 위클리 챌린지
- 줄어드는 숫자
- 백트렉킹
- 그래프
- 10597
- 너비우선탐색
목록BOJ (32)
개발자-H 입니다.
https://www.acmicpc.net/submit/11725/32749545 로그인 www.acmicpc.net 그래트 탐색 문제이다. DFS,BFS 어떤 것을 사용해도 무방하다. 노드에 이전 노드(부모)를 저장했고 root 배열을 만들어서 표기했다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class Main { public static final BufferedReader br = new BufferedRe..
https://www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다 www.acmicpc.net 층과 인원수를 2차원 배열로 구성하여 미리 개수만큼 map에 저장한다. 테스트 케이스 입력에 대해 출력한다. import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { public static final BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); public..
https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 주어진 정렬 조건을 이용하여 우선 순위 큐에 넣고 쭈욱 출력했다. 1788ms 풀이법은 Node에 ToString을 구현하여 넣은 방법이다 916ms 풀이법은 큐를 출력하는 While문 안에서 String을 만들어 Builder에 넣고 출력했다. 880ms 풀이법에서는 ToStirng 구현에서 사용했었던 String.format을 변경하였다. ..
https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 그리디 문제이다. 큰 동전부터 작은 동전 순으로 목표 K원을 나눠주면 된다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class Main { public static final BufferedReader br =..
https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 그리디 알고리즘이다. 정렬 후 누적 값을 출력하면된다. 정렬에 PriorityQueue를 사용하였다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class Main { public static final BufferedReader br = new BufferedReader(new InputStreamRead..
https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net DP 기본 문제이다. 메모리제이션으로 각 DP마다 결과 값을 저장하여 사용해야 시간초과가 나지않는다. 코딩테스트 몸 풀기용으로 간혹 나오는 경우가 있다. import java.util.ArrayList; import java.util.PriorityQueue; import java.util.Scanner; public class Main { public static final Scanner scanner = new Scanner(System.in); public static void main(S..
https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 그래프 탐색 BFS 문제이다. 초기 맵 초기화 시, 바꿔야 할 토마토 수를 세어 노드 방문시 개수를 차감하였다. 탐색이 끝난 후 토마토 수를 다 못했다면 -1 탐색이 끝났다면 최단 경로(BFS 깊이)를 출력했다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public cla..
https://www.acmicpc.net/problem/1916 1916번: 최소비용 구하기 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 www.acmicpc.net 최단 경로 문제이다. 다익스트라 알고리즘을 연습 할 수 있는 좋은 문제이다. import java.util.ArrayList; import java.util.PriorityQueue; import java.util.Scanner; public class Main { public static final Scanner scanner = new Scanner(Syste..