백준 4659 - 비밀번호 발음하기
Updated:
Java
4659 번 - 비밀번호 발음하기
문제
접근 방법
1,2,3 조건에 맞게 해결한다.
모음을 따로 확인하는 메서드를 사용하여 확인한다.
코드
import java.util.*;
import java.io.*;
public class Main {
static int n, result;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str;
boolean canSpeak;
while(true) {
str = br.readLine();
canSpeak = false;
if(str.equals("end"))
break;
char curC;
int v = 0,c = 0;
// 1번 조건
for(int i = 0; i < str.length(); i++) {
if(isVowel(str.charAt(i))){
canSpeak = true;
break;
}
}
if(!canSpeak) {
System.out.printf("<%s> is not acceptable.\n", str);
}else {
for(int i = 0; i < str.length(); i++) {
curC = str.charAt(i);
// 2번 조건
if(i != str.length() - 1 && curC == str.charAt(i + 1) && curC != 'o' && curC != 'e') {
canSpeak = false;
break;
}
// 3번 조건
boolean vowel = isVowel(curC);
if(vowel) {
v++;
c = 0;
}
else {
c++;
v = 0;
}
if(v == 3 || c == 3) {
canSpeak = false;
break;
}
}
// 결과
if(canSpeak)
System.out.printf("<%s> is acceptable.\n", str);
else
System.out.printf("<%s> is not acceptable.\n", str);
}
}
br.close();
}
static boolean isVowel(char c) {
if(c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u')
return true;
return false;
}
static int stoi(String str) {
return Integer.parseInt(str);
}
}
총평
후기
단순 조건 따지는 문제는 귀찮다