https://www.acmicpc.net/problem/2941
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "input.txt";
let input = fs.readFileSync(filePath).toString().trim().split("\n");
let str = input[0];
// 정규표현식으로 풀기
var regex = /c\=|c\-|dz\=|d\-|lj|nj|s\=|z\=/g;
let result = str.replace(regex, " ");
// console.log(result.length)
// 조건문으로 풀기
let cnt = 0;
for (let i = 0; i < str.length; i++) {
if (str[i] === "c" && (str[i + 1] === "=" || str[i + 1] === "-")) {
i += 1;
cnt++;
} else if (str[i] === "d" && str[i + 1] === "z" && str[i + 2] === "=") {
i += 2;
cnt++;
} else if (str[i] === "d" && str[i + 1] === "-") {
i += 1;
cnt++;
} else if (str[i + 1] === "j" && (str[i] === "l" || str[i] === "n")) {
i += 1;
cnt++;
} else if (str[i] === "s" && str[i + 1] === "=") {
i += 1;
cnt++;
} else if (str[i] === "z" && str[i + 1] === "=") {
i += 1;
cnt++;
} else {
cnt++;
}
}
console.log(cnt);
✔ 알고리즘 : 문자열
✔ 풀이 1 : 정규표현식 (위의 코드 참고), result.length로 답출력
✔ 풀이 2 : if else 조건식으로 크로아티아 알파벳으로 바꿀 수 있는지 판별
❗ 크로아티아 알파벳이 되지않는 경우는 마지막 else에서 cnt를 1증가
✔ 난이도 : 백준 기준 실버5