[백준] JavaScript 2941번 크로아티아 알파벳

Noma·2021년 9월 9일
0
post-custom-banner

Question

[백준] JavaScript 2941번 크로아티아 알파벳

크로아티아 알파벳변경
čc=
ćc-
dz=
đd-
ljlj
njnj
šs=
žz=

input

첫째 줄에 최대 100글자의 단어가 주어진다. 알파벳 소문자와 '-', '='로만 이루어져 있다.

단어는 크로아티아 알파벳으로 이루어져 있다. 문제 설명의 표에 나와있는 알파벳은 변경된 형태로 입력된다.

ouput

입력으로 주어진 단어가 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다.

example

ljes=njak → 6

ddz=z= → 3

Solution

let input=require('fs').readFileSync('/dev/stdin').toString().trim();
console.log(input.replace(/c=|c-|dz=|d-|lj|nj|s=|z=|./g,'a').length);

What I learned

  • node로는 replaceAll이 불가능하다.
  • replace(/정규식/g,대체할 문자) 이런식으로 replace()와 정규식을 사용하면 replaceAll 효과를 낼 수 있다.
  • ▽ 사용된 정규 표현식
CharacterMeaningExample
x | yx 또는 y에 대응 (OR 개념)/green|red/는 "green apple"의 'green'에 대응되고, "red apple."의 'red'에 대응된다.
.개행 문자를 제외한 모든 단일 문자에 대응/.n/는 "nay, an apple is on the tree"에서 'an'과 'on'에 대응되지만, 'nay' 에는 대응되지 않는다.

Reference

https://www.acmicpc.net/source/26198079

profile
오히려 좋아
post-custom-banner

0개의 댓글