2024.07.29기준 - 브론즈1백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 주어진 숫자로 조합을 해 소수가 아닌 수를 출력하는 문제입니다. 1. 주어진 문제는 숫자 1개만 사용하여 충분히 소수가 아닌 수를 무조건 만들 수 있습니다.(무조건 YES가 나옵니다.)StringTokenizer st = new StringTokenizer(br.readLine()); // 수를 저장하는 큐Queue qu = new LinkedList();while (st.hasMoreElements()) { qu.add(Integer.parseInt(st.nextToken()));}// 숫자 하나만 있어도 중복이 허용이기 때문에 가능하다.int num = qu.poll(); 2. 주어진 수가 0이 ..
2024.08.29기준 - 실버2백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 정점의 개수, 간선의 개수, 시작 정점이 주어질 때, dfs를 이용하여 1 ~ n까지의 정점의 깊이를 출력하는 문제입니다. 주의점은 문제에서 시간 초과가 계속 나왔는데... LinkedList()로 접근을 해서 시간복잡도가 더 늘어난걸 알게되었습니다!..정렬을 이용할 때는 LinkedList보다는 ArrayList를 사용해야 된다는 정보를 얻을 수 있는 문제였습니다. 1. 정점의 수는 1부터 시작하기 때문에 depth를 n + 1크기로 생성해 간선과 깊이를 초기화 시켜주었습니다.depth = new int[n + 1];list = new ArrayList();for (int i = 0; i ()); de..
2024.07.28기준 - 실버2백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 입력된 수식에서 괄호를 이용해서 가장 작은 수를 만드는 문제입니다. 1. 입력받은 문자열을 +, -를 기준으로 분류를 해주었습니다.StringTokenizer st = new StringTokenizer(br.readLine(), "+-", true); // +와 -를 기준으로 분리하며 +, -도 리턴해서 받는다. 2. 입력받은 문자열들 중에서 -를 찾아 수식을 계산을 진행합니다.※ -가 한번 들어오는 순간 부터는 무조건 -를 할 수 있어 첫 번째 -를 기준으로 앞에는 더 해주며, 뒤에는 빼주었습니다.int sum = 0;boolean check = false; // - 체크String s;while (st..
2024.07.27기준 - 실버1백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 주어진 정점과 인접 행렬이 주어졌을 때, 인접 행렬을 통해 갈 수 있는 곳을 1로 못가는 곳을 0으로 해서 출력하는 문제입니다. 이 문제에 접근하기 위해서 플로이드 위셜 알고리즘을 통해 접근을 하였습니다. 플로이드 워셜 알고리즘그래프 내 모든 정점 쌍의 최단 경로를 반복적으로 계산합니다.두 정점 사이의 최단 경로가 어떤 중간 정점을 거쳐서 갈 때 더 잛은지를 확인하여 입력하는 방식입니다.플로이드 위셜 알고리즘 작동 과정1. 초기화● 그래프의 인접 행렬 d를 사용합니다. 여기서 d[i][j]는 정점 i에서 정점 j로 가는 초기 가중치를 의미합니다.● 만약 i에서 j로 직접적인 간선이 없다면 d[i][j]를 무한..