헝D의 일기장
article thumbnail

https://www.acmicpc.net/problem/4659

4659번: 비밀번호 발음하기

좋은 패스워드를 만드는것은 어려운 일이다. 대부분의 사용자들은 buddy처럼 발음하기 좋고 기억하기 쉬운 패스워드를 원하나, 이런 패스워드들은 보안의 문제가 발생한다. 어떤 사이트들은 xvtp

www.acmicpc.net

나의풀이

import java.io.*;
import java.util.*;
public class Main {
    public static void main(String args[]) throws Exception{
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        String temp="";
        String a="",b="",c="";
        int opt1=0;//1이어야 품질 기준을 만족한것.2는 불가.
        int opt2=0;
        int opt3=0;
        List<String> m=new ArrayList<>();
        m.add("a"); 
        m.add("e"); 
        m.add("i"); 
        m.add("o"); 
        m.add("u"); 

        while((temp= br.readLine()) != null && !temp.equals("end")){
            opt1=0; opt2=0; opt3=0;
            a=String.valueOf(temp.charAt(0));
            if(temp.length() >= 1){
                if(m.contains(a)){
                    opt1=1;
                }
            }
            if(temp.length() >= 2){
                b=String.valueOf(temp.charAt(1));
                if(m.contains(b)){
                    opt1=1;
                }
                if(!((a+b).equals("ee")||(a+b).equals("oo")) && a.equals(b)){
                    opt3=2;
                }
                    
            }

            if(temp.length() >= 3){
                b=String.valueOf(temp.charAt(1));
                for(int i=2; i< temp.length(); i++){
                    c=String.valueOf(temp.charAt(i));
                    if(m.contains(c)){
                        opt1=1;
                    }
                    if((m.contains(a) && m.contains(b) && m.contains(c))||
                    (!m.contains(a) && !m.contains(b) && !m.contains(c))
                    ){
                        opt2=2;
                    }
                    
                    if(!((b.equals("e") && c.equals("e")) || (b.equals("o") && c.equals("o"))) && b.equals(c)){
                        opt3=2;
                    }
              
                    a=b;
                    b=c;
                }
            }
            if(opt1==0 || opt2==2 || opt3==2){
                System.out.println("<"+temp+"> is not acceptable.");
            }else{
                System.out.println("<"+temp+"> is acceptable.");
            }
        }
    }
}
profile

헝D의 일기장

@헝D

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!