백준 4659 - 비밀번호 발음하기 (자바)

남현·2025년 12월 8일

백준

목록 보기
11/16

문제

풀이

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(true) {
            String pass = sc.next();
            if(pass.equals("end")) {
                break;
            }
            boolean acp1 = false;
            boolean acp2 = true;
            boolean acp3 = true;

            int mCount = 0;
            int nCount = 0;


            for(int i=0; i<pass.length(); i++) {
                if(pass.charAt(i) == 'a' || pass.charAt(i) == 'e' || pass.charAt(i) == 'i' || pass.charAt(i) == 'o' || pass.charAt(i) == 'u') {
                    acp1 = true;
                    mCount++;
                    nCount=0;
                    if(mCount >= 3) {
                        acp2=false;
                        break;
                    }
                } else {
                    nCount++;
                    mCount=0;
                    if(nCount >=3) {
                        acp2=false;
                        break;
                    }
                }
                if(i>=1) {
                    if(pass.charAt(i) != 'e' && pass.charAt(i) != 'o') {
                        if(pass.charAt(i) == pass.charAt(i-1)) {
                            acp3=false;
                        }
                    }
                }
            }

            if(acp1 && acp2 && acp3) {
                System.out.printf("<%s> is acceptable.\n", pass);
            } else {
                System.out.printf("<%s> is not acceptable.\n", pass);
            }
        }
        sc.close();
    }
}

주어진 조건 3가지를 확인하면서 풀이.

profile
백엔드 호소인

0개의 댓글