목록2024/12 (10)
지우너
문제https://www.acmicpc.net/problem/4963 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayDeque;import java.util.Queue;import java.util.StringTokenizer;public class Main { public static int w; public static int h; public static int[][] map; public static boolean[][] visited; public static void main(String[] args) throw..
문제https://www.acmicpc.net/problem/1167 풀이DFS1: 아무 정점에서 시작해서 가장 먼 노드a를 찾기DFS2: 가장 먼노드a에서 가장 먼 노드 b를 찾기a에서 b까지의 길이가 트리의 지름(트리에서 임의의 두 점 사이의 거리 중 가장 긴 것) 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.List;import java.util.StringTokenizer;public class Main { public static List> edges; public static int[] ..
문제https://www.acmicpc.net/problem/1260 코드 C++#include #include #include #include #define MAX_N 1000using namespace std;vector > edges(MAX_N+1);bool visited[MAX_N+1] = {false, };// v 방문void DFS(int v);void BFS(int v);int main(){ // [input] // 첫 째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000). 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. int n, m, v; cin >> n >> m >> v; // 다음 M개의 줄에는 간선이 연결하는 두 정..
문제https://www.acmicpc.net/problem/2667 코드문제의 그림처럼 라벨링을 할까 하다가, 어차피 방문한 곳은 다시 방문하지 않기 때문에 굳이 라벨링하지 않았다.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class Main { public static final int MAX_N = 25; public static int n; public static String[] map = new String[MAX_N]; public static boolean[][] visited = new boolean[MA..
기출 문제 풀었던 것에 비해 난이도가 있는 문제가 많이 나왔다.가채점 하고 불합격할 것 같다고 생각했는데, 턱걸이로 합격했다.
문제https://www.acmicpc.net/problem/11652 풀이count arr를 쓰면 되겠다는 생각 그런데 값의 범위가 적혀있는 수는 $-2^{62}$보다 크거나 같고, $2^{62}$보다 작거나 같다.숫자 카드의 개수 N (1 ≤ N ≤ 100,000)는 값의 범위에 비해 너무 작다해당 수를 전부 표현하는 배열을 만든다면 안 쓰이는 수가 너무 많고(메모리 낭비), 메모리 초과가 날 것이다. Map을 쓰면 key값이 중복되지 않으면서, value에 해당 숫자 카드의 개수를 저장cpp에서 map[key]++;를 해서 value값을 1씩 올려줬었는데, 자바에서도 비슷하게 할 수 없을까? 라는 생각이 들었다.map.put(num, map.getOrDefault(num, 0)+1); key값이 있..