
🧫 문제 분석
✔️ 출처
📖 문제

정규표현식 연습하고싶어서 풀게된 문제다.
정규표현식은 매번 까먹기때문에 많이 해봐야하고 잘 숙지해야한다.
3번째 조건 ee, oo는 허용하면서 나머지 같은 글자 연속 2번을 제외하는게 조금 어려웠다. (결국 검색해봄..)
🔅 문제 풀이
import java.io.*;
import java.util.*;
public class Main {
static String[] eval = {"is acceptable.", "is not acceptable."};
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
// 패스워드 읽기
while (true) {
String password = br.readLine();
// end면 입력 종료
if (password.equals("end")) {
break;
}
// 모음 하나 반드시 포함
if(!password.matches(".*[aeiou].*")
|| password.matches(".*[aeiou]{3,}.*") // 모음 3개 연속
|| password.matches(".*[^aeiou]{3,}.*") // 자음 3개 연속
|| password.matches(".*([a-df-np-z])\\1.*")) { // ee, oo 제외한 연속된 같은 글자 제외
bw.write(String.format("<%s> is not acceptable.\n", password));
continue;
}
bw.write(String.format("<%s> is acceptable.\n", password));
}
bw.flush();
bw.close();
}
}
❗ 오답노트 / 필요한 지식
- 정규표현식 정리할 예정
'baekjoon > String' 카테고리의 다른 글
백준 2179번 : 비슷한 단어 [자바] (0) | 2025.03.14 |
---|---|
백준 20437번 : 문자열 게임 2 [자바] (0) | 2025.03.09 |
백준 1036번 : 36진수 자바 (2) | 2024.08.28 |
백준 5525번 : IOIOI 자바 (0) | 2024.08.24 |
백준 5430번 : AC 자바 (0) | 2024.08.21 |