백준
백준 4659 비밀번호 발음하기(Java)
Park DJ
2023. 2. 20. 19:54
https://www.acmicpc.net/problem/4659
4659번: 비밀번호 발음하기
좋은 패스워드를 만드는것은 어려운 일이다. 대부분의 사용자들은 buddy처럼 발음하기 좋고 기억하기 쉬운 패스워드를 원하나, 이런 패스워드들은 보안의 문제가 발생한다. 어떤 사이트들은 xvtp
www.acmicpc.net
해석 및 팁
이 문제는 조건을 읽어보고 그대로 구현만 하면 되는 문제입니다.
Java 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
StringBuilder sb = new StringBuilder();
while(true) {
String str = sc.next();
if(str.equals("end")) break;
if(check(str)) sb.append("<").append(str).append("> is acceptable.").append("\n");
else sb.append("<").append(str).append("> is not acceptable.").append("\n");
}
System.out.println(sb);
}
public static boolean check(String str) {
int co = 0;
int v = 0;
boolean vow = false;
char[] c = str.toCharArray();
for(int i = 0; i < c.length; i++) {
if(c[i] == 'a' || c[i] == 'e' || c[i] == 'i' || c[i] == 'o' || c[i] == 'u') {
vow = true;
co = 0;
v++;
if(v == 3) return false;
}
else {
v = 0;
co++;
if(co == 3) return false;
}
if(i > 0) {
if(c[i - 1] != 'e' && c[i - 1] != 'o') {
if(c[i - 1] == c[i]) return false;
}
}
}
if(vow == false) return false;
return true;
}
}