-
728x90
1. 문제 설명
https://www.acmicpc.net/problem/1316
2. 예제 입/출력
예제 입력 예제 출력 3
happy
new
year3 4
aba
abab
abcabc
a1 5
ab
aa
aca
ba
bb4 3. 문제 풀이
const fs = require("fs"); let input = fs .readFileSync("/dev/stdin") .toString() .trim() .split("\n") .slice(1); let count = 0; // 그룹 단어 개수 저장을 위한 변수 // input 배열의 각 단어 순회하기 for (let i = 0; i < input.length; i++) { let word = input[i]; let arr = []; let isGroupWord = true; // 현재 단어가 그룹단어인지 여부 확인 for (let j = 0; j < word.length; j++) { let curr = word[j]; // arr 배열에 문자가 포함되는지 여부 if (arr.includes(curr)) { // 문자가 연속해서 나타나는 경우만 그룹단어이기 떄문에 이전 문자랑 비교 후 다르면 루프 종료 if (prev !== curr) { isGroupWord = false; break; } } else { arr.push(curr); // 배열에 포함되어있지 않으면 현재 단어를 push } prev = curr; // 현재 단어를 prev로 초기화 } // isGroupWord가 ture일 때 count 증가 if (isGroupWord) { count++; } } console.log(count);
.includes(searchElement, [fromIndex]): 배열 또는 문자열에 특정 값이 포함되어있는지 여부를 true / false로 반환
'코딩테스트, 알고리즘' 카테고리의 다른 글
[백준] 9095번 1, 2, 3 더하기 (0) 2023.11.06 [백준] 1436번 영화감독 숌 (node.js) (0) 2023.10.23 [프로그래머스] 영어 끝말잇기 (JS) (0) 2023.09.04 [프로그래머스] 올바른 괄호 (JS / Stack) (0) 2023.08.27 [프로그래머스] 이진 변환 반복하기 (JS) (0) 2023.08.26 댓글