728x90
알고리즘 스터디
https://www.acmicpc.net/problem/1759
브루투포스 알고리즘! 오늘은 문제는 무난했으나 int 형번환을 주의하자는 점과, 문제를 똑바로 읽자. 를 또 느꼈다.
// https://www.acmicpc.net/problem/1759
import java.io.*;
import java.util.*;
public class Main {
public static int L, C;
public static char[] arr;
public static boolean[] check;
public static StringBuilder result = new StringBuilder();
public static Set<Character> set = new HashSet<>();
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
input(br);
pro();
}
static void pro() {
Arrays.sort(arr);
for(int i= 0; i<arr.length; i++) {
if(set.contains(arr[i])) check[i] = true;
}
dfs(arr, 0, new StringBuilder(), 0, 0);
System.out.println(result);
}
static void dfs(char[] arr, int idx, StringBuilder sb, int m, int z) {
if(sb.length() == L){
if(m >= 1 && z >= 2) result.append(sb).append("\n");
return;
}
if(L - sb.length() > C - idx){
return;
}
for(int i = idx; i < C; i++) {
dfs(arr, i+1, sb.append(arr[i]), check[i] ? m+1 : m, check[i] ? z : z+1);
sb.setLength(sb.length()-1);
}
}
static void input(BufferedReader br) throws Exception {
StringTokenizer st = new StringTokenizer(br.readLine());
L = Integer.parseInt(st.nextToken());
C = Integer.parseInt(st.nextToken());
set.add('a');
set.add('e');
set.add('i');
set.add('o');
set.add('u');
arr = new char[C];
check = new boolean[C];
st = new StringTokenizer(br.readLine());
for (int i = 0; i < C; i++) {
arr[i] = st.nextToken().charAt(0);
}
}
}
발표 스터디
내일 발표할 내용은 lettuceLock 이다.
저번에 발표한 redissonLock과 비교도 작성했다.
이력서 수정
피그마로 옮기는 작업을 어제 끝냈고, pdf로 변환해서 첨삭 요청을 했다.

pdf로 뽑는 꿀팁..! 이제까지 각각 해서 합쳤었다..
728x90
'TIL' 카테고리의 다른 글
| [TIL] 2025.05.24(토) (1) | 2025.05.25 |
|---|---|
| [TIL] 2025.05.23(금) 진법 변환 (0) | 2025.05.23 |
| [TIL] 2025.05.21(수) 내 코드는 되는 코드일까?, 이력서 수정 (0) | 2025.05.22 |
| [TIL] 2025.05.20(화) (0) | 2025.05.21 |
| [TIL]2025.05.17(토) (1) | 2025.05.18 |