목록Problem Solving (204)
지우너

문제https://www.acmicpc.net/problem/1759 풀이알파벳 조합(backtracking())을 만들어서 모음1개, 자음 2개를 검사(check())하면 되는 문제조합을 만드는 문제니까 백트래킹 사용주어진 알파벳 목록을 정렬한 후 idx 뒤의 문자부터 배열에 넣으면 자동으로 정렬이 됨 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class Main { public static int l; public static int c; public static char[] alphabets; public sta..

문제https://www.acmicpc.net/problem/3108 그룹으로 묶어주는 문제라서 union-find를 사용.bfs나 dfs로 풀려고 했는데, 블로그를 찾아보니 union-find를 사용하는 것을 보고 놀랐다.사각형이 교차하는 조건이 조금 까다로워 보여서, 그냥 생각했을 때, 상하로 떨어지거나 좌우로 떨어지면 겹치지 않는다고 생각했다.계속 예제 출력과 다른 답이 나와서 다시 블로그를 봤더니, 한 사각형이 다른 사각형 안에 있는 경우도 고려해야 했음. 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class Main { pu..

문제https://www.acmicpc.net/problem/1963 풀이primeNum(int size): size까지의 소수 목록 -> fillPrimeArr()로 처음 1번 생성 tc입력 -> tc만큼 아래 로직 반복start, target 소수 입력bfs(): start에서 target으로 만드는 데에 필요한 횟수 반환queue.poll()이 target과 같으면 횟수 반환getNext(): queue.poll()로 꺼낸 수에서 한 자릿수를 변경한 수의 list 반환list의 수 중 방문했거나 소수가 아닌 수는 queue에 넣을 수 없음 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReade..
문제https://www.acmicpc.net/problem/1476코드완탐 문제라고 해서 그냥 무식하게 돌렸다...import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { // 지구를 나타내는 수를 E, 태양을 나타내는 수를 S, 달을 나타내는 수를 M (1 ≤ E ≤ 15, 1 ≤ S ≤ 28, 1 ≤ M ≤ 19) // 1년은 준규가 살고있는 나라에서는 1 1 1로 나타낼 수 있다. 1년이 지날 때마다, 세 수는 모두 1씩 증가한다. // 만약, 어떤 수가 범위를 넘어가는 경우에는 1이 ..
문제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[] ..