-
<백준(node.js)> 1316번: 그룹 단어 체커유물/└ 백준 2022. 2. 7. 21:33728x90
🤖
문제
https://www.acmicpc.net/problem/1316
풀이
const fs = require("fs"); const INPUT_ARRAY = fs.readFileSync("/dev/stdin").toString().trim().split("\n"); const wordArray = INPUT_ARRAY.splice(1); function pressWord(word) { const wordArr = word.split(""); const pressedWordArr = wordArr.map((val, i) => val === wordArr[i + 1] ? "" : val ); const pressedWord = pressedWordArr.join(""); return pressedWord; } function isGroupWord(word) { const wordArr = word.split(""); let resultArr = []; wordArr.forEach((val) => { if (!resultArr.includes(val)) resultArr.push(val); }); if (wordArr.join("") !== resultArr.join("")) { return 0; } else { return 1; } } let result = 0; wordArray.forEach((val) => { result += +isGroupWord(pressWord(val)); }); console.log(result);
1. (line 6~13) 그룹 단어를 체크하는데 연속으로 중복되는 단어는 의미가 없기 때문에 하나로 압축하는 함수를 작성합니다.
2. (line 15~26) 압축된 단어에서 중복된 단어가 존재한다면 그룹 단어가 아닙니다. 이를 판단하는 함수를 작성합니다.
3. (line 28~33) 그룹 단어의 수를 result 변수에 담아 출력합니다.
728x90'유물 > └ 백준' 카테고리의 다른 글
<백준(node.js)> 2292번: 벌집 (0) 2022.02.11 <백준(node.js)> 1712번: 손익분기점 (0) 2022.02.09 <백준(node.js)> 2941번: 크로아티아 알파벳 (0) 2022.02.07 <백준> 5622번: 다이얼 (0) 2022.02.05 <백준> 2908번: 상수 (0) 2022.02.04