mark340
착하게살자
mark340
전체 방문자
오늘
어제
  • 분류 전체보기 (98)
    • 백준 (11)
    • 알고리즘 (1)
    • Javascript (17)
    • CS (18)
    • 기타 (9)
    • AI (1)
    • Angular (2)
    • Linux (14)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • JavaScript
  • parsing
  • MySQL
  • oauth
  • Closure

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
mark340

착하게살자

[백준 2941] 크로아티아 알파벳 (Node.js)
백준

[백준 2941] 크로아티아 알파벳 (Node.js)

2023. 1. 1. 00:38

 

 

2941번: 크로아티아 알파벳

예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z=

www.acmicpc.net


 

 

문제 해결만을 우선적으로 생각하다보니 코드가 그야말로 단순무식해졌다.

숏코딩에 고수들의 접근 방식을 보며,, 감탄했다.

다들 이렇게 쉬운 방법으로 푸는구나.

고수들도.. 처음부터 잘 하지는 않았을 거라는 생각을 가지며.. 오늘도 배운다는 생각으로.. 

 

아래는 내가 처음으로 작성했던 코드

const input = require('fs').readFileSync('/dev/stdin').toString().trim().split('');  

let sample = ["c=","c-","dz=","d-","lj","nj","s=","z="]
let word = [];

for(let i=0; i<input.length; i++){
  if(sample.includes(input[i]+input[i+1]+input[i+2])){
    word.push((input[i]+input[i+1]+input[i+2]))
  } else if(sample.includes(input[i]+input[i+1])){
    word.push((input[i]+input[i+1]))
  }
}

console.log(input.length - word.length)

 

 

정규표현식을 사용한 더 쉬운 해결방법

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


console.log(a.length);

 

'백준' 카테고리의 다른 글

[백준 2108] 통계학 / 배열 요소의 최빈값 구하기 / Object.entries()  (0) 2023.01.14
[백준 18870] 좌표 압축 / Map  (0) 2023.01.14
[백준 1181번] 단어정렬 / Set(배열중복제거) / localeCompare() (단어정렬)  (0) 2023.01.14
[백준 2587] 대표값2 (Node.js)  (0) 2023.01.10
[백준 2738] 행렬 덧셈 (Node.js) / 자바스크립트 행렬끼리 덧셈  (0) 2023.01.09
    '백준' 카테고리의 다른 글
    • [백준 18870] 좌표 압축 / Map
    • [백준 1181번] 단어정렬 / Set(배열중복제거) / localeCompare() (단어정렬)
    • [백준 2587] 대표값2 (Node.js)
    • [백준 2738] 행렬 덧셈 (Node.js) / 자바스크립트 행렬끼리 덧셈
    mark340
    mark340
    착하게삽시다

    티스토리툴바