4659번: 비밀번호 발음하기 (acmicpc.net)
알고리즘 : 구현
let input = require("fs")
.readFileSync("input.txt") //"/dev/stdin"
.toString()
.split("\n")
.map((val) => val.trim());
function solution() {
while (1) {
let word = input.shift();
if (word === "end") return;
if (word.length === 1) {
console.log(`<${word}> is acceptable.`);
continue;
}
word = word.split("");
let check1 = false;
let check2 = true;
let vcnt = 0;
let lcnt = 0;
let check3 = true;
let a = ["a", "e", "i", "o", "u"];
for (let i = 0; i < word.length; i++) {
//a e i o u check
if (a.includes(word[i])) {
check1 = true;
}
//모음, 자음 3개 연속 check
if (a.includes(word[i])) {
vcnt++;
lcnt = 0;
} else {
vcnt = 0;
lcnt++;
}
if (vcnt === 3 || lcnt === 3) {
check2 = false;
}
//같은 글자 연속, 단 ee, oo ok
if (word[i] === word[i + 1]) {
if (word[i] === "e" || word[i] === "o") continue;
check3 = false;
}
}
if (check1 && check2 && check3) {
console.log(`<${word.join("")}> is acceptable.`);
} else {
console.log(`<${word.join("")}> is not acceptable.`);
}
}
}
solution();
'코딩테스트(알고리즘) > baekjoon' 카테고리의 다른 글
[baekjoon] 3474 교수가 된 현우 (javascript,c++) (1) | 2023.01.23 |
---|---|
[baekjoon] 10709 기상캐스터 (0) | 2023.01.23 |
[baekjoon] 2910 빈도정렬 (javascript) (0) | 2023.01.12 |
[baekjoon] 1992 쿼드트리 (javascript) (0) | 2023.01.11 |
[baekjoon] 2583 영역 구하기 (javascript) (2) | 2023.01.11 |