일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 모든 순열
- mysql string functions
- aggregate function
- graph array
- BOJ
- contravariance
- graph
- CHAR_LENGTH
- 제네릭
- nextInt
- 에라스토테네스
- 제네릭 배열
- 공변
- 데이터베이스
- 백준
- MySQL
- 자바
- db
- DFS
- SQL
- BFS
- 바닥장식
- 반공변
- 알고리즘
- not equal
- Java
- 자료구조
- Database
- 13164
- goormide
- Today
- Total
목록백준 (6)
1223

N을 입력하면 1부터 N까지의 숫자를 모든 경우의 수를 따져서 나열해야 한다. 그러기 위해서는 일단 N을 입력 받았을 때 1부터 N까지의 수를 가질 수 있게 for문을 작성해야 한다. 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 num = Integer.parseInt(br.readLine()); String word = ""; for (int i = 1; i

입력 N: 도시의 개수 M: 도로의 개수 K: 거리 X: 출발 도시 A B: A에서 B로 이동하는 단방향 도로 출력 X에서 출발해 K거리에 있는 도시를 오름차순으로 출력 최단거리가 K인 도시가 존재하지 않으면 -1 출력 핵심 다익스트라 과정 입력을 받을 변수들을 선언한다. /* 무한을 의미하는 값으로 10억을 설정 */ public static final int INF = (int) 1e9; public static int n; // 노드의 개수(N) public static int m; // 간선의 개수(M) public static int di;// 거리(K) public static int start; // 시작 노드 번호(Start) static PriorityQueue pq; //다익스트라를 위..

입력 N: 세로 M: 가로 '-', '|' 출력 소비된 나무 판자의 개수 핵심 '-' 이 모양의 나무 판자는 가로로 연속인 것은 하나로 치고, 연속이 아닌 것은 독립적으로 개수를 센다. '|' 이 모양의 나무 판자는 세로로 연속인 것은 하나로 치고, 연속이 아닌 것은 독립적으로 개수를 센다. 문제를 이해하고 나서 2차원 배열로 풀어야겠다는 생각을 했다. 과정 문제에서 주어진 입력을 받아서 설정 배열(num[])에 담는다. num[0]는 방의 세로 길이, num[1]은 방의 가로 길이를 뜻한다. public class BOJ_1388_백용민 { public static void main(String[] args) throws IOException {..

입력 N 정점(노드)의 개수 M 간선의 개수 K 시작 노드 번호 출력 DFS, BFS를 수행한 결과 핵심 Stack Queue DFS BFS Graph 과정 GraphList 클래스를 생성하고, ArrayList를 활용해서 Graph를 구현한다. class GraphList { //변수 LG를 캡슐화한다. private ArrayList LG; //GraphList의 생성자, 객체를 생성한다. 2차 ArrayList public GraphList() { setLG(new ArrayList()); } //getter public ArrayList getLG() { return LG; } //setter public void setLG(ArrayList LG) { this.LG = LG; } } 각 노드마다..

주어진 정보 3kg, 5kg의 설탕 봉지 입력 설탕의 무게 출력 필요한 3kg, 5kg 봉지의 개수(합) 입력에서 설탕의 무게가 3kg와 5kg의 합으로 나타낼 수 없는 무게는 -1을 출력한다. 핵심 3의 배수의 합과 5의 배수의 합으로 나타낼 수 없는 수는 -1이 출력된다 과정 1. 설탕의 무게를 입력받을 코드를 작성한다. BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); int num = Integer.parseInt(bf.readLine()); int count = 0; 성능의 향상을 위해 Scanner를 쓰지 않고 BufferedReader를 사용했다. count는 필요한 봉지 수를 나타낸다. 2. break; 를 ..

주어진 정보 총 N명 N명은 처음부터 키 순서대로 줄을 서있다. K개의 조 같은 조에 속한 원생들은 서로 인접 인원이 같을 필요는 없다. 한 조의 티셔츠 비용 = 가장 큰 키 - 가장 작은 키 입력 N, K, N명의 키 출력 모든 조의 티셔츠 비용 총합 핵심 각 조의 모든 원생은 인접해야 한다. 한 조의 인원이 한 명이면, 티셔츠 비용은 0원이다. 각 키의 차이를 저장할 배열이 필요하다.(diff []) 과정 1. 문제에서 주어지는 입력을 받을 코드를 작성한다. Scanner sc = new Scanner(System.in); int num = sc.nextInt(); //원생수 N int num2 = sc.nextInt(); //조 K int sum = 0; //티셔츠 비용의 합 int[] arr = ..