📜 문제 내용 ✨ 최초 제출 답안import java.io.*;import java.util.*;public class Main { static int N, M; static ArrayList[] family; static boolean[] visit; static int[] depth;; static Queue queue = new LinkedList(); public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new Buff..
📜 문제 내용 🤔 과정모든 경우의 수를 고려해 index를 수학적으로 계산하려했으나, 완전 탐색과는 거리가 멀어서 의도에 맞게 풀어보기로 했다. (모든 단어의 수 : 3905 개 = 5 + 25 + 125 + 625 + 3125) list 형태의 사전을 하나 만들고, 모든 경우의 단어 조합을 DFS 를 통해 add 한다. 그리고 주어진 word를 사전에서 찾는다. ✨ 최초 제출 답안import java.util.*;class Solution { public static String[] vowels = {"A", "E", "I", "O", "U"}; public static final int MAX_LENGTH = 5; public static List dict; // ..
📜 문제 내용 🤔 과정접두사와 접미사를 기준으로 단어를 찾게 하고, 가장 큰 인덱스를 반환시켜야한다. 그래서 문자열을 자르는 substring을 이용해 HashMap 안에 문자열을 자른 접두사와 접미사 조합으로 key를 생성하고, value 값으로 인덱스를 넣으면 가장 큰 값이 자동으로 덮여진다는 점을 이용. ✨ 최초 제출 답안class WordFilter { private final HashMap mapPrefSuff; public WordFilter(String[] words) { mapPrefSuff = new HashMap(); for(int i = 0; i 첫 제출 시, substring의 인덱스 착각 이슈로 j 하지만, 위의 코드로 작성하면 "apple..
📜 문제 내용 🤔 과정백준 - 숫자 카드 (링크) 위의 문제의 코드에서 변형하면 안되나? -> 안됨애초에 배열이나 list 순회를 하지 않고 HashMap을 활용해 값에 대한 갯수를 put 해놓고 판별 숫자(target)을 key로 하여 값에 대한 갯수(value) 값을 찾아오면 된다. ✨ 최초 제출 답안 - 시간 초과⏱️import java.io.*;import java.util.*;public class Main { public static int n,m,target, cnt; public static int[] cards; public static void checkCnt(int start, int end){ for(int i=start;i target){ ..
📜 문제 내용 🤔 과정간단한 이분 탐색 연습 문제카드 입력 받기 -> 카드 오름차순 정렬 -> 정렬된 배열 안에서 이분 탐색 진행 ✨ 최초 제출 답안import java.util.*;import java.io.*;public class Main { public static void main(String[] ars) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; StringBuilder sb = new StringBuilder(); int n = Integer.parseInt(br.read..