[伯俊]2941クロアチア文字
9483 ワード
質問リンク
変更したテキストをクロアチア文字に変換します.
次に、クロアチア文字に2つの数字の文字列がある場合は、「1」に置き換えます.
最終的に変換された文字列の数を返します. replaceを使用する場合、正規表現を使用しない場合は、最初の1つだけが置き換えられます.
したがって、対応するすべての文字列をsplitとjoinで置き換える必要があります. 文字列の問題は空白を考慮しなければならない.
考えてみれば、クロアチア文字が1つだけでいいです.
私はクロアチア文字に変更しなければなりません.それから2文字の文字を1つに変更して、意味のない演算をしました.
また問題に限られて狭隘に考えているようだ.
初めての試み
変更したテキストをクロアチア文字に変換します.
次に、クロアチア文字に2つの数字の文字列がある場合は、「1」に置き換えます.
最終的に変換された文字列の数を返します.
const solution = () => {
let str = input[0].replace(/(\s*)/g, "")
const croatia = {
'c=': 'č',
'c-': 'ć',
'dz=': 'dž',
'd-': 'đ',
's=': 'š',
'z=': 'ž'
}
const twoLength = ['dž', 'lj', 'nj']
Object.entries(croatia).map(([key, value]) => {
const arr = str.split(key);
str = arr.join(value)
})
twoLength.map((v)=> {
const arr = str.split(v);
str = arr.join('1')
})
console.log(str.length)
}
solution()
したがって、対応するすべての文字列をsplitとjoinで置き換える必要があります.
他人を解く
const fs = require("fs");
const input = (
process.platform === "linux"
? fs.readFileSync("/dev/stdin").toString()
: `ljes=njak`
).trim();
let croatia = ["c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="];
function solution(input) {
for (let alphabet of croatia) {
input = input.split(alphabet).join("Q");
}
return input.length; // return input일 경우 QeQQak를 반환한다.
}
console.log(solution(input));
学識
考えてみれば、クロアチア文字が1つだけでいいです.
私はクロアチア文字に変更しなければなりません.それから2文字の文字を1つに変更して、意味のない演算をしました.
また問題に限られて狭隘に考えているようだ.
Reference
この問題について([伯俊]2941クロアチア文字), 我々は、より多くの情報をここで見つけました https://velog.io/@yooon26/백준-2941번-크로아티아-알파벳テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol